如何使用Room访问CalendarProvider?

时间:2017-11-22 13:45:40

标签: android kotlin android-contentprovider android-calendar android-room

使用内容提供商总是带有难以理解的样板,因为很难发现编程错误。

Android体系结构组件的房间持久性库缓解了这个问题,但它似乎无法与Android的内容提供商一起使用。

有没有人成功使用Calendar Provider或其他Android的Content Provider with Room,获得更易读的代码?如果是,请回答并在Kotlin发布您的片段(如果可以的话);)

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

  

它似乎无法与Android的内容提供商一起使用。

它不仅不适用于ContentProvider“开箱即用”,没有实际的方法让Room在其当前状态下使用ContentProvider。你可以得到的最接近的是有一组SupportSQLite*类试图映射到ContentResolver操作,但这会遇到各种各样的问题(例如,Room无法创建元数据表)

未来版本的Room支持这一点并不是不可能的,并且可能已经有图书馆提供类似于Room的方法来访问外部ContentProvider