2016-08-17 46 views
0

我想写一个从sqlite数据库到android活动的回调。目前我从Web服务插入一些数据到数据库,然后将其设置为列表视图。 我在后台运行一项服务,它将不断检查新数据。如果有新数据,它将更新数据库。 我的问题是如何定义从sqlite到activity的回调onupdate。如何定义从SQLITE到Android的回调活动

任何帮助将不胜感激。

+1

阅读关于'ContentProvider' /'ContentResolver' – pskink

回答

0

你应该能够通过观察者模式获得结果。 您的活动将实施自定义界面,如RefreshableOnDBUpdateTrigger ,其中您将使用标准数据库查询机制从数据库重新加载数据。
在您的数据库更新类中,您可以调用RefreshableOnDBUpdateTrigger.update()方法,它基本上是您的活动实例的方法,它从数据库中提取更新的数据。
请参阅观察者模式了解实施细节。

+1

观察者模式是明显的选择,但必须注意确保活动仍然活动,如果后台服务设置为超时活动。在这种情况下,它需要在尝试调用回调之前检查活动是否还活着。 –

0

这将需要用户定义的函数,这是Android数据库框架不支持的。

您必须在数据库访问代码中明确调用这些回调。

0

接口回调的另一个选择是使用Event Bus。 DB代码获取数据,然后用数据发布事件。任何注册课程都将收到该活动。