Android日历事件

Android日历事件,android,calendar,Android,Calendar,我正在使用日历内容提供程序进行操作,现在无法显示特定日期的事件 我知道“+”之后的“+”和“+dtend+”//下面是一种获取所有日历事件列表的方法 public static void readCalendarEvent(Context context) { ContentResolver contentResolver = context.getContentResolver(); cursor = contentResolver.query(Uri.parse("c

我正在使用日历内容提供程序进行操作,现在无法显示特定日期的事件

我知道<2.1版本和2.2版本的事件URI,如下所示:

eventsUri = Uri.parse("content://calendar/events");    // < Android 2.1 version

eventsUri = Uri.parse("content://com.android.calendar/events");  // For Android Froyo 2.2 and later version
eventsUri=Uri.parse(“content://calendar/events");    // < 安卓2.1版
eventsUri=Uri.parse(“content://com.android.calendar/events");  // 适用于Android Froyo 2.2及更高版本
我的疑问是:

  • 如何获取所有事件
  • 如何获取特定日期的事件
  • 所以,请,有关于日历知识的人,请帮助我并分享你关于这方面的知识


    Thanx

    这些示例用于使用此代码获取每日事件

    public static void readCalendarEvent(Context context) throws ParseException {
    
            ContentResolver contentResolver = context.getContentResolver();
            Calendar calendar = Calendar.getInstance();
            String dtstart = "dtstart";
            String dtend = "dtend";
    
    
            SimpleDateFormat    displayFormatter = new SimpleDateFormat("MMMM dd, yyyy (EEEE)");
    
             stime=displayFormatter.format(calendar.getTime());     
    
            SimpleDateFormat startFormatter = new SimpleDateFormat("MM/dd/yy");
            String dateString = startFormatter.format(calendar.getTime());
    
            long after = calendar.getTimeInMillis();
            SimpleDateFormat formatterr = new SimpleDateFormat("hh:mm:ss MM/dd/yy");
            Calendar endOfDay = Calendar.getInstance();
            Date dateCCC = formatterr.parse("23:59:59 " + dateString);
            endOfDay.setTime(dateCCC);
    
    
    
    
    
    
        cursor = contentResolver.query(Uri.parse("content://com.android.calendar/events"), (new String[] { "calendar_id", "title", "description", "dtstart", "dtend","eventTimezone", "eventLocation" }), "(" + dtstart + ">" + after + " and " + dtend + "<" + endOfDay.getTimeInMillis() + ")", null, "dtstart ASC");
    
    
            /*String[] COLS={"calendar_id", "title", "description", "dtstart", "dtend","eventTimezone", "eventLocation"};
    
            cursor = contentResolver.query(
    
    
                    CalendarContract.Events.CONTENT_URI, COLS,null, null, null);*/
    
            gCalendar = new ArrayList<GoogleCalendar>();
            try {
    
    
                if (cursor.getCount() > 0) {
    
    
                    while (cursor.moveToNext()) {
                        GoogleCalendar googleCalendar = new GoogleCalendar();
                        gCalendar.add(googleCalendar);
                        int calendar_id = cursor.getInt(0);
                        googleCalendar.setCalendar_id(calendar_id);
                        String title = cursor.getString(1);
                        googleCalendar.setTitle(title);
                        String description = cursor.getString(2);
                        googleCalendar.setDescription(description);
                        String dtstart1 = cursor.getString(3);
                         dt=convertDate(dtstart1,"hh:mm:ss");
                        googleCalendar.setDtstart(dt);                                      
                        String dtend1 = cursor.getString(4);
                        googleCalendar.setDtend(dtend1);                                                            
                        String eventTimeZone=cursor.getString(5);
                        googleCalendar.setEventTimeZone(eventTimeZone);
                        String eventlocation = cursor.getString(6);                 
                        googleCalendar.setEventlocation(eventlocation);
    
                    }
                }
            } catch (AssertionError ex) {
                ex.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    publicstaticvoidreadcalendarEvent(上下文上下文)引发异常{
    ContentResolver ContentResolver=context.getContentResolver();
    日历=Calendar.getInstance();
    字符串dtstart=“dtstart”;
    字符串dtend=“dtend”;
    SimpleDataFormat displayFormatter=新的SimpleDataFormat(“MMMM dd,yyyy(EEEE)”;
    stime=displayFormatter.format(calendar.getTime());
    SimpleDataFormat StartFormat=新SimpleDataFormat(“MM/dd/yy”);
    String dateString=startFormatter.format(calendar.getTime());
    long after=calendar.getTimeInMillis();
    SimpleDataFormat Formatter=新的SimpleDataFormat(“hh:mm:ss mm/dd/yy”);
    Calendar endOfDay=Calendar.getInstance();
    Date-dateCCC=formatter.parse(“23:59:59”+日期字符串);
    endOfDay.setTime(日期CCC);
    
    cursor=contentResolver.query(Uri.parse(“content://com.android.calendar/events(“+dtstart+”>“+”之后的“+”和“+dtend+”//下面是一种获取所有日历事件列表的方法

    public static void readCalendarEvent(Context context) {
    
       ContentResolver contentResolver = context.getContentResolver();
       cursor = contentResolver.query(Uri.parse("content://com.android.calendar/events"), (new String[] { "_id", "title", "organizer", "dtstart", "dtend"}), null, null, null);
    
       List<GoogleCalendar> gCalendar = new ArrayList<GoogleCalendar>();
       try {
    
           if (cursor.getCount() > 0) {
               while (cursor.moveToNext()) {
                   GoogleCalendar googleCalendar = new GoogleCalendar();
    
                   int event_ID = cursor.getInt(0);
                   googleCalendar.setEvent_id(event_ID);
                   String title = cursor.getString(1);
                   googleCalendar.setTitle(title);
                   String mOrganizer = cursor.getString(2);
                   googleCalendar.setOrganizer(mOrganizer);
                   String dtStart = cursor.getString(3);
                   googleCalendar.setDtstart(dtStart);
                   String dtEnd = cursor.getString(4);
                   googleCalendar.setDtend(dtEnd);
                   gCalendar.add(googleCalendar);
                   Log.d("CaledarM",googleCalendar.getTitle()+" name = "+googleCalendar.getOrganizer()+" dateStart = "+googleCalendar.getDtstart()+" Size = " + gCalendar.size());
               }
           }
       } catch (AssertionError ex) {
           ex.printStackTrace();
       } catch (Exception e) {
           e.printStackTrace();
       }
    }
    

    @bbaja42非常感谢您的支持,但我对“/instances/when”这一行表示怀疑,您在其中编写了ContentUris.appendId(builder,now-DateUtils.MILLIS_PER_DAY*10000)和ContentUris.appendId(builder,now+DateUtils.MILLIS_PER_DAY*10000);行,但如何仅获取特定日期的事件???@bbaja42 MILLIS_/天不适用于ANDROID@pm-帕雷什·马亚尼:你说得对,我用了额外的图书馆that@pm-paresh mayani,如果您希望获得特定日期;您需要输入特定日期的开始时间;以及特定日期的结束时间。endDate=now+1天(单位:毫秒秒)谷歌日历在哪里?检查:
    Cursor eventCursor = contentResolver.query(builder.build(),
                    new String[] { "event_id"}, "Calendars._id=" + 1,
                    null, "startDay ASC, startMinute ASC"); 
            // For a full list of available columns see http://tinyurl.com/yfbg76w
            while (eventCursor.moveToNext()) {
                String uid2 = eventCursor.getString(0);
                Log.v("eventID : ", uid2);
    
            }
    
    public static void readCalendarEvent(Context context) throws ParseException {
    
            ContentResolver contentResolver = context.getContentResolver();
            Calendar calendar = Calendar.getInstance();
            String dtstart = "dtstart";
            String dtend = "dtend";
    
    
            SimpleDateFormat    displayFormatter = new SimpleDateFormat("MMMM dd, yyyy (EEEE)");
    
             stime=displayFormatter.format(calendar.getTime());     
    
            SimpleDateFormat startFormatter = new SimpleDateFormat("MM/dd/yy");
            String dateString = startFormatter.format(calendar.getTime());
    
            long after = calendar.getTimeInMillis();
            SimpleDateFormat formatterr = new SimpleDateFormat("hh:mm:ss MM/dd/yy");
            Calendar endOfDay = Calendar.getInstance();
            Date dateCCC = formatterr.parse("23:59:59 " + dateString);
            endOfDay.setTime(dateCCC);
    
    
    
    
    
    
        cursor = contentResolver.query(Uri.parse("content://com.android.calendar/events"), (new String[] { "calendar_id", "title", "description", "dtstart", "dtend","eventTimezone", "eventLocation" }), "(" + dtstart + ">" + after + " and " + dtend + "<" + endOfDay.getTimeInMillis() + ")", null, "dtstart ASC");
    
    
            /*String[] COLS={"calendar_id", "title", "description", "dtstart", "dtend","eventTimezone", "eventLocation"};
    
            cursor = contentResolver.query(
    
    
                    CalendarContract.Events.CONTENT_URI, COLS,null, null, null);*/
    
            gCalendar = new ArrayList<GoogleCalendar>();
            try {
    
    
                if (cursor.getCount() > 0) {
    
    
                    while (cursor.moveToNext()) {
                        GoogleCalendar googleCalendar = new GoogleCalendar();
                        gCalendar.add(googleCalendar);
                        int calendar_id = cursor.getInt(0);
                        googleCalendar.setCalendar_id(calendar_id);
                        String title = cursor.getString(1);
                        googleCalendar.setTitle(title);
                        String description = cursor.getString(2);
                        googleCalendar.setDescription(description);
                        String dtstart1 = cursor.getString(3);
                         dt=convertDate(dtstart1,"hh:mm:ss");
                        googleCalendar.setDtstart(dt);                                      
                        String dtend1 = cursor.getString(4);
                        googleCalendar.setDtend(dtend1);                                                            
                        String eventTimeZone=cursor.getString(5);
                        googleCalendar.setEventTimeZone(eventTimeZone);
                        String eventlocation = cursor.getString(6);                 
                        googleCalendar.setEventlocation(eventlocation);
    
                    }
                }
            } catch (AssertionError ex) {
                ex.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    public static void readCalendarEvent(Context context) {
    
       ContentResolver contentResolver = context.getContentResolver();
       cursor = contentResolver.query(Uri.parse("content://com.android.calendar/events"), (new String[] { "_id", "title", "organizer", "dtstart", "dtend"}), null, null, null);
    
       List<GoogleCalendar> gCalendar = new ArrayList<GoogleCalendar>();
       try {
    
           if (cursor.getCount() > 0) {
               while (cursor.moveToNext()) {
                   GoogleCalendar googleCalendar = new GoogleCalendar();
    
                   int event_ID = cursor.getInt(0);
                   googleCalendar.setEvent_id(event_ID);
                   String title = cursor.getString(1);
                   googleCalendar.setTitle(title);
                   String mOrganizer = cursor.getString(2);
                   googleCalendar.setOrganizer(mOrganizer);
                   String dtStart = cursor.getString(3);
                   googleCalendar.setDtstart(dtStart);
                   String dtEnd = cursor.getString(4);
                   googleCalendar.setDtend(dtEnd);
                   gCalendar.add(googleCalendar);
                   Log.d("CaledarM",googleCalendar.getTitle()+" name = "+googleCalendar.getOrganizer()+" dateStart = "+googleCalendar.getDtstart()+" Size = " + gCalendar.size());
               }
           }
       } catch (AssertionError ex) {
           ex.printStackTrace();
       } catch (Exception e) {
           e.printStackTrace();
       }
    }
    
    public class GoogleCalendar {
    
        private int event_id;
        private String title,
                organizer,
                dtstart,
                dtend;
    
        public GoogleCalendar()
        {
        }
    
        public int getEvent_id() {
            return event_id;
        }
    
        public void setEvent_id(int calendar_id) {
            event_id = calendar_id;
        }
    
        public String getTitle() {
            return title;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public String getOrganizer() {
            return organizer;
        }
    
        public void setOrganizer(String description) {
            this.organizer = description;
        }
    
        public String getDtstart() {
            return dtstart;
        }
    
        public void setDtstart(String dtstart1) {
            this.dtstart = dtstart1;
        }
    
        public String getDtend() {
            return dtend;
        }
    
        public void setDtend(String dtend1) {
            this.dtend = dtend1;
        }
    }