我正在创建一个应用程序(使用SQLite),用户可以在其中选择他们家中的成分。当他们选择成分时,我想更新一个ActionTab,以显示用户根据他们拥有的成分制作的正确的食谱#。 ActionTab本身包含一个片段,它是匹配配方的列表(CursorAdapter)。
从我遇到的所有内容来看,似乎我可能需要创建一个ContentProvider才能执行此操作。但是,阅读Android ContentProvider docs中的“决定是否需要内容提供商”部分,我会看到以下内容:
如果使用完全在您自己的应用程序中,则不需要提供程序来使用SQLite数据库。
这似乎与我根据野外其他文章的想法相矛盾。所以我的问题是,我真的需要创建一个ContentProvider来实时更新这些数据吗?或者,还有更好的方法? (如果重要,我正在与OrmLite合作。)
答案 0 :(得分:0)
对于遇到此问题的任何其他人,您无需创建ContentProvider。在光标上简单指定需要实时更新的自定义通知URI:
cursor.setNotificationUri(getContentResolver(), uri)
然后,只要您的应用中发生了应触发实时更新的相关更改,请使用相同的URI值调用以下内容:
getContentResolver().notifyChange(uri, null)
希望这有助于任何有同样问题的人!