我想写一个从sqlite数据库到android活动的回调。目前我从Web服务插入一些数据到数据库,然后将其设置为列表视图。 我在后台运行一项服务,它将不断检查新数据。如果有新数据,它将更新数据库。 我的问题是如何定义从sqlite到activity的回调onupdate。如何定义从SQLITE到Android的回调活动
任何帮助将不胜感激。
我想写一个从sqlite数据库到android活动的回调。目前我从Web服务插入一些数据到数据库,然后将其设置为列表视图。 我在后台运行一项服务,它将不断检查新数据。如果有新数据,它将更新数据库。 我的问题是如何定义从sqlite到activity的回调onupdate。如何定义从SQLITE到Android的回调活动
任何帮助将不胜感激。
你应该能够通过观察者模式获得结果。 您的活动将实施自定义界面,如RefreshableOnDBUpdateTrigger ,其中您将使用标准数据库查询机制从数据库重新加载数据。
在您的数据库更新类中,您可以调用RefreshableOnDBUpdateTrigger.update()方法,它基本上是您的活动实例的方法,它从数据库中提取更新的数据。
请参阅观察者模式了解实施细节。
观察者模式是明显的选择,但必须注意确保活动仍然活动,如果后台服务设置为超时活动。在这种情况下,它需要在尝试调用回调之前检查活动是否还活着。 –
这将需要用户定义的函数,这是Android数据库框架不支持的。
您必须在数据库访问代码中明确调用这些回调。
接口回调的另一个选择是使用Event Bus。 DB代码获取数据,然后用数据发布事件。任何注册课程都将收到该活动。
阅读关于'ContentProvider' /'ContentResolver' – pskink