所以我有一个提供一些数据的Web应用程序...假设我查询http://www.myserver.com/?id=Apples应用程序返回Apples的当前价格(应用程序知道还有许多其他成果)。我在我的数据库中保留了水果的名称和价格。我所做的是在我的主要活动中显示所有水果和当前价格的列表(当它开始从数据库中读取它们)时,还为用户提供了在屏幕上放置小部件的能力,显示1个水果的价格(让我们说一个小1x1小部件)。
这就是明智的故事......我想做的事情是在我的数据库中不断更新水果价格(让我们说每30分钟更新一次)。我还希望我的小部件知道数据库何时更新以显示新价格。
实现这一目标的最佳模式(这可能非常常见)... AsyncTask,Service,Service + ALarm等所有其他组合?
答案 0 :(得分:0)
你是对的,这个问题经常出现。实现这项工作的最快方法是使用IntentService
(在一个单独的线程上自动排队并运行您的任务)和一个触发它的警报。
更完整的解决方案是使用AccountManager
/ SyncAdapter
/ ContentProvider
组合。 SDK发行版中包含的API示例包含一个示例;另外,this blog post似乎非常有用。
我想补充一点,因为这属于RESTful网络服务的范畴,您可能会发现Google I/O video about developing RESTful applications非常有用。