我正在学习Android,并且一直在研究需要读取和写入用户日历的应用程序。我非常清楚Android 4.0(ICS)之前没有公共API。但是,早期版本的Android中有“日历功能”。
我的问题是;既然有官方的公共API,它是否只适用于Android 4.0和未来版本,或者现在是否可以在运行早期版本Android的手机上访问日历?在定位早期版本的Android时,新API是否可以作为单独的库包含在内? [我在Eclipse工作]如果是这样的话怎么办?
我想避免使用不符合官方发布的日历API的旧的非公开方法。
答案 0 :(得分:2)
它仅适用于Android 4.0和未来版本,还是现在可以在运行早期版本Android的手机上访问日历?
它仅存在于Android 4.0 +。
在定位早期版本的Android时,新API可以作为单独的库包含吗?
不,鉴于您的以下限制:
我想避免使用不符合官方发布的日历API的旧的非公开方法。
可以想象 - 尽管远非确定 - 要么:
CalendarContract
恰好只是 “旧的非公开方法”,获得官方身份,或
可以将源代码带到CalendarContract
,并且至少对于部分功能,修改它以使用旧版本的私有API
后者可能会像ActionBarSherlock一样工作,它将请求传递给Android 4.0+上的本机实现,并在早期版本的Android上使用自己的实现。
在任何一种情况下,供应商仍有可能修改日历应用,因此CalendarContract
将不会完全兼容。在我概述的第二个场景中,维护此兼容性库的任何人都可以为这种情况实现特定于设备的解决方法。