我正在尝试使用我的App读取和写入日历。所以我正在使用android developer guide中的代码:

我复制了这个:

// Run query
Cursor cur = null;
ContentResolver cr = getContentResolver();
Uri uri = Calendars.CONTENT_URI;
String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                    + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                    + Calendars.OWNER_ACCOUNT + " = ?))";
String[] selectionArgs = new String[] {"[email protected]", "com.google",
    "[email protected]"};
// Submit the query and get a Cursor object back.
cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);


但是我得到的错误是无法解析符号日历。 android studio提供的解决方案是将Calendars更改为CalendarContract.Calendars

我很好奇这有什么区别?以及为什么开发人员指南包含缺陷?

最佳答案

唯一的区别是import语句。

import android.provider.CalendarContract.Calendars;
// Use Calendars
Calendars.ACCOUNT_NAME


import android.provider.CalendarContract;
// Use CalendarContract.Calendars
CalendarContract.Calendars.ACCOUNT_NAME

07-28 12:57