Android - 来自 Google 日历的事件输出列表

Posted

技术标签:

【中文标题】Android - 来自 Google 日历的事件输出列表【英文标题】:Android - Output List of events from Google calendar 【发布时间】:2014-05-17 16:57:55 【问题描述】:

我想请你帮忙。现在我正在编写一个应用程序,它从 Google 日历中获取当前事件。但是问题就在那里,当我试图从多个日历中输出事件时。我知道,我做错了什么,但真的,不能解决问题..

公共类主要扩展活动 //TextView mInfo; 文本视图 mEvents; @覆盖 公共无效 onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); 设置内容视图(R.layout.main); //mInfo = (TextView)findViewById(R.id.info); mEvents = (TextView)findViewById(R.id.events); String[] calendarName = "Calendar1", "Calendar2", "Calendar3", "Calendar4", "Calendar5"; 读取日历(日历名称); 私人无效readCalendars(字符串[]日历名称) 字符串 [] 投影 = 新字符串[] CalendarContract.Calendars._ID, CalendarContract.Calendars.NAME, CalendarContract.Calendars.ACCOUNT_NAME, CalendarContract.Calendars.ACCOUNT_TYPE; 光标 calCursor = 获取内容解析器()。 查询(CalendarContract.Calendars.CONTENT_URI, 投影, CalendarContract.Calendars.VISIBLE + " = 1", 空值, CalendarContract.Calendars._ID + "ASC"); 长呼叫 = -1; //String calendarAccount = ""; for(int i = 0; i 0) 如果(光标。moveToFirst()) 做 long eventId = cursor.getLong(3); 事件 += getEventInfo(eventId,cursor.getLong(1),cursor.getLong(2),cursor.getString(4),cursor.getString(5),cursor.getString(6)) + "\n"; while(cursor.moveToNext()); mEvents.setText(事件); @SuppressLint("SimpleDateFormat") private String getEventInfo(long eventId,long startTime, long endTime,String description, String location,String title) 字符串事件信息 = ""; DateFormat df = new SimpleDateFormat("HH:mm"); String start = df.format(new Date(startTime)); String end = df.format(new Date(endTime)); eventInfo = start + "-" + end + " Class: "+ location + "\nLecture: " + title + "\nLecturer: " + description; 返回事件信息;

尝试使用循环输出所有事件,但没有帮助。如果我传入calendarName[i],其中 i 是现有日历之一,我会得到我要求的日历输出,但这只是一个日历,但例如,我需要输出 5 个日历。

试图用 ListView 做任何事情 - 再次失败。

希望您能帮助解决这个问题或以某种方式帮助解决它..

【问题讨论】:

【参考方案1】:

CalendarContract.Calendars.CONTENT_URI 可用于检索日历,但不能用于检索这些日历的实际事件。获得日历 ID 后,您必须使用以下任一 URI 获取事件信息:

CalendarContract.Events.CONTENT_URI CalendarContract.Instances.CONTENT_URI

【讨论】:

以上是关于Android - 来自 Google 日历的事件输出列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 android 使用日历 API 在谷歌日历上添加事件?

在 android 中以编程方式使用谷歌日历添加同步事件

多个Google日历上的CRUD操作(多个客户日历)

android开发应用中,如何获取系统自带日历的日程事件信息

从数据库获取事件并放置日历视图(android)

Google 日历 API:KeyError:“位置”