java - 更新小部件和 Activity 的数据

标签 java android web-services rest

所以我有一个提供一些数据的网络应用程序...假设我查询 http://www.myserver.com/?id=Apples该应用程序返回苹果的当前价格(该应用程序还知道许多其他水果)。我将水果的名称和价格保存在数据库的表格中。我所做的就是在我的主要 Activity 中显示所有水果和当前价格的列表(当开始时从数据库中读取它们),但也为用户提供了在屏幕上放置小部件的能力,以显示 1 个水果的价格(假设一个水果)小 1x1 小部件)。

这就是故事的明智之处...我想做的就是在我的数据库中不断更新水果价格(假设每 30 分钟更新一次)。我还希望我的小部件知道数据库何时更新以显示新价格)。

实现此功能的最佳模式是什么(这可能很常见)...AsyncTask、Service、Service + ALarm 等所有其他组合?

最佳答案

你说得对,这个问题确实经常出现。完成这项工作的最快方法是使用 IntentService (它自动排队并在单独的线程上运行您的任务)和一个警报来触发它。

更完整的解决方案是使用 AccountManager/SyncAdapter/ContentProvider 组合。 SDK 版本中包含的 API 示例包含一个示例;另外,this blog post看起来很有用。

我想补充一点,由于这属于 RESTful Web 服务类别,因此您可能会找到 Google I/O video about developing RESTful applications非常有用。

关于java - 更新小部件和 Activity 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11555345/

相关文章:

java - "generic method""absolute value"java

java - 为什么不总是自动调用 toString()

java - 迭代 json 对象列表?

java - 哪些文件应该导入到 Web 服务项目的 Subversion 存储库中?

java - 对 CXF 服务器的 C/C++ SSL 请求

java - IllegalStateException: <MyFragment> 当前不在 FragmentManager 中

android - fragment - 等到交易动画完成

java - 无法在主线程上访问数据库,因为它可能会长时间锁定 UI 错误

java - 尽管将 'disableCNCheck' 设置为 true,但 https URL 主机名与通用名称 (CN) 不匹配

java - 检查是否所有复选框均已选中。安卓