从日历提供程序Android获取事件
我使用这个简单的方法从日历提供程序获取事件。但我只从Facebook日历和假日日历中获取活动。为什么它不能与谷歌日历等其他日历一起使用从日历提供程序Android获取事件,android,calendar,Android,Calendar,我使用这个简单的方法从日历提供程序获取事件。但我只从Facebook日历和假日日历中获取活动。为什么它不能与谷歌日历等其他日历一起使用 public List<EventData> getEventsFromDay(Calendar beginTime, Calendar endTime) { //convert Callendar data to millis long beginMillis = beginTime.getTimeInMillis(); l
public List<EventData> getEventsFromDay(Calendar beginTime, Calendar endTime) {
//convert Callendar data to millis
long beginMillis = beginTime.getTimeInMillis();
long endMillis = endTime.getTimeInMillis();
//list of all events this day
List<EventData> allEvents = new ArrayList<>();
///////////searching for Events id this day from Instances table
//what we want from data
String[] instanceQuery =
new String[]{
Instances._ID,
Instances.BEGIN,
Instances.END,
Instances.EVENT_ID};
//cursor get needed data
Cursor cursor =
Instances.query(mContext.getContentResolver(), instanceQuery, beginMillis, endMillis);
if (cursor.moveToFirst()) {
do {
//save id of every event this day
EventData singleEvent = new EventData();
singleEvent.setId(cursor.getLong(3));
allEvents.add(singleEvent);
} while (cursor.moveToNext());
}
//always close cursor!!
cursor.close();
////////// now searching for details of events from Events table
//what we want from data
String[] eventQuery =
new String[]{
Events._ID,
Events.TITLE,
Events.EVENT_COLOR,
};
for (int i = 0; i < allEvents.size(); i++) {
//cursor get needed data
Cursor eventCursor =
mContext.getContentResolver().
query(
Events.CONTENT_URI,
eventQuery,
Events._ID + " = ? ",
new String[] {Long.toString(allEvents.get(i).getId())},
null);
//convert data from cursor
if (eventCursor.moveToFirst()) {
allEvents.get(eventCursor.getPosition()).setTitle(eventCursor.getString(1));
allEvents.get(eventCursor.getPosition()).setColor(eventCursor.getString(2));
}
//always close cursor!!
eventCursor.close();
}
return allEvents;
}
公共列表getEventsFromDay(日历开始时间、日历结束时间){
//将调用者数据转换为毫秒
long beginMillis=beginTime.getTimeInMillis();
long-endMillis=endTime.getTimeInMillis();
//当天所有活动的列表
List allEvents=new ArrayList();
///////////从实例表中搜索当天的事件id
//我们想要从数据中得到什么
字符串[]实例查询=
新字符串[]{
实例。\u ID,
例如,开始,
最后,,
实例。事件_ID};
//游标获取所需的数据
光标=
query(mContext.getContentResolver(),instanceQuery,beginMillis,endMillis);
if(cursor.moveToFirst()){
做{
//保存当天所有活动的id
EventData singleEvent=新的EventData();
setId(cursor.getLong(3));
allEvents.add(singleEvent);
}while(cursor.moveToNext());
}
//始终关闭光标!!
cursor.close();
//////////现在正在从事件表中搜索事件的详细信息
//我们想要从数据中得到什么
字符串[]事件查询=
新字符串[]{
事件,
事件名称,
Events.EVENT\u颜色,
};
对于(int i=0;i
整个应用程序在这里:问题已解决。这个代码很好,我只是把开始时间和结束时间放错了。。。