我是Android开发的新手,并且与内容提供商和内容观察员一起玩。但是,我无法在线查找示例。我一直在玩和读这个但是已经卡住了。这是我想要做的:
我创建了一个小型内容提供商(我已经确认它正在工作并在手机上的数据库中插入/删除数据)。我们称之为A.apk。现在我想创建一个B.apk,它将通过对db进行的任何更新得到通知。因此,如果创建了新内容,B将显示它,如果内容被删除,它将从B的视图中删除。
我很困难,很想知道如何使用最佳做法正确完成这项工作。一个例子将非常感谢!
答案 0 :(得分:2)
这实际上很容易。
只需实现ContentObserver并将其注册到要监视的数据库的URI。在A使用B的ContentProvider将数据放入B定义的数据库的示例中,将触发B的ContentObserver的onChange()方法。但是,如果在进行更改时B未运行,则会出现问题。
另一种解决方案是A使用B的ContentProvider将数据插入B的数据库,然后向B发送新数据等待的意图。
或者在B的ContentProvider的实现中,它可以启动,而Activity也属于B.
取决于应用程序的需求和关注点将决定使用哪种方法。