如何在我的Android应用中提供“实时更新”记录/记录列表?

时间:2013-05-26 16:13:22

标签: android cursor android-contentprovider android-sqlite ormlite

我正在创建一个应用程序(使用SQLite),用户可以在其中选择他们家中的成分。当他们选择成分时,我想更新一个ActionTab,以显示用户根据他们拥有的成分制作的正确的食谱#。 ActionTab本身包含一个片段,它是匹配配方的列表(CursorAdapter)。

从我遇到的所有内容来看,似乎我可能需要创建一个ContentProvider才能执行此操作。但是,阅读Android ContentProvider docs中的“决定是否需要内容提供商”部分,我会看到以下内容:

  

如果使用完全在您自己的应用程序中,则不需要提供程序来使用SQLite数据库。

这似乎与我根据野外其他文章的想法相矛盾。所以我的问题是,我真的需要创建一个ContentProvider来实时更新这些数据吗?或者,还有更好的方法? (如果重要,我正在与OrmLite合作。)

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的任何其他人,您无需创建ContentProvider。在光标上简单指定需要实时更新的自定义通知URI:

cursor.setNotificationUri(getContentResolver(), uri)

然后,只要您的应用中发生了应触发实时更新的相关更改,请使用相同的URI值调用以下内容:

getContentResolver().notifyChange(uri, null)

希望这有助于任何有同样问题的人!