Java 使用日历提供程序/calendar.Contract从特定日历和特定日期获取事件

Java 使用日历提供程序/calendar.Contract从特定日历和特定日期获取事件,java,android,calendarcontract,Java,Android,Calendarcontract,好的,我正在制作一个从手机中提取scynced日历并显示它们的应用程序,我已经阅读了很多教程,但我仍然不确定如何做到这一点。 我想提取一个帐户类型为“ca.ryerson”(由谷歌教育应用程序提供支持)的日历,然后我想从该特定数据库获取所有事件,并仅在有人单击提供的日期时显示它们 因此,当有人在9月5日点击时,它会从ca.ryerson帐户显示9月5日的所有事件,我对android开发相当陌生,在数据库处理方面几乎没有经验,我真的希望你能在这方面提供帮助。我已经阅读了很多教程和文档,但我仍然不知

好的,我正在制作一个从手机中提取scynced日历并显示它们的应用程序,我已经阅读了很多教程,但我仍然不确定如何做到这一点。 我想提取一个帐户类型为“ca.ryerson”(由谷歌教育应用程序提供支持)的日历,然后我想从该特定数据库获取所有事件,并仅在有人单击提供的日期时显示它们

因此,当有人在9月5日点击时,它会从ca.ryerson帐户显示9月5日的所有事件,我对android开发相当陌生,在数据库处理方面几乎没有经验,我真的希望你能在这方面提供帮助。我已经阅读了很多教程和文档,但我仍然不知道如何做到这一点


谢谢:)

我能够决定如何做这是我的代码

ContentResolver contentResolver = getContentResolver();
        final Cursor cursor = contentResolver.query(CalendarContract.Calendars.CONTENT_URI,
                (new String[]{CalendarContract.Calendars._ID, CalendarContract.Calendars.CALENDAR_DISPLAY_NAME}), null, null, null);

        while (cursor.moveToNext()) {
            final String _id = cursor.getString(0);
            final String displayName = cursor.getString(1);


            int stringLength = displayName.length();
            String output = displayName.substring(stringLength - 10);
            //Log.d("Cursor", output);

            if (output.equals("ryerson.ca")) {
                //Log.d("Cursor", "true");
                calendarID = new String[]{_id};
            }

            Uri.Builder builder = CalendarContract.Instances.CONTENT_URI.buildUpon();

            Calendar beginTime = Calendar.getInstance();
            beginTime.set(2014, Calendar.SEPTEMBER, 2, 8, 0);
            long startMills = beginTime.getTimeInMillis();

            Calendar endTime = Calendar.getInstance();
            endTime.set(2014, Calendar.SEPTEMBER, 2, 20, 0);
            long endMills = endTime.getTimeInMillis();

            ContentUris.appendId(builder, startMills);
            ContentUris.appendId(builder, endMills);

            Cursor eventCursor = contentResolver.query(builder.build(), new String[]{CalendarContract.Instances.TITLE,
                            CalendarContract.Instances.BEGIN, CalendarContract.Instances.END, CalendarContract.Instances.DESCRIPTION},
                    CalendarContract.Instances.CALENDAR_ID + " = ?", calendarID, null);

            while (eventCursor.moveToNext()) {
                final String title = eventCursor.getString(0);
                final Date begin = new Date(eventCursor.getLong(1));
                final Date end = new Date(eventCursor.getLong(2));
                final String description = eventCursor.getString(3);

                Log.d("Cursor", "Title: " + title + "\tDescription: " + description + "\tBegin: " + begin + "\tEnd: " + end);
            }