如何在没有任何用户请求的情况下使数据库更新?

时间:2011-06-28 08:30:35

标签: android service android-asynctask

我正在尝试开发一个应用程序,它将从服务器下载一些json字符串(问候语)。由于我是android的新手,我不知道该怎么做。该应用程序将有自己的收件箱,它将是通过sqlite和系统实现将自动从服务器下载所有最新的问候(json字符串)并将它们放入收件箱。所以最好的办法是什么,我的意思是我应该使用服务或异步任务吗?我想要每当有新的问候语进入服务器时,我的应用程序应自动下载它而无需任何用户请求,当用户打开收件箱时,它是最新的。

2 个答案:

答案 0 :(得分:0)

服务更适合您在此处描述的用例。如果您不确定数据何时到达并且您希望在后台继续检查它而不让用户知道某些事情正在发生,那么服务意味着在场景中使用Asynctask另一方面更有用在用户点击某些内容之后,你需要做一些网络相关的事情或需要花费时间的事情。在应用程序处理用户的请求时,asynctask只是向用户显示正确的等待进度条的另一种方式,以便用户不觉得应用程序卡住了。所以服务适用于您的情况。

答案 1 :(得分:0)

如果您想要更新数据库,即使应用未运行,也需要服务或同步帐户

服务 http://marakana.com/forums/android/examples/60.html

用于同步适配器 http://developer.android.com/resources/samples/SampleSyncAdapter/index.html

我使用服务实现了类似的东西