在Android中获取背景数据

时间:2015-09-20 20:30:01

标签: android android-activity

我有这个Android应用程序,就像黄页,但利基特定数据。我坚持将新数据(如新的电话号码,更新的电子邮件,联系信息等)推送到应用程序。

该应用程序还具有排名功能,我可以从基于Web的管理面板更新产品类别的用户排名。目前,当使用活动的Internet连接启动应用程序时,新数据将存储在本地数据库中。如果没有互联网,则从应用程序的本地数据库中使用先前获取的数据。

现在,我对如何将新数据在后台推送到设备以供离线使用感到困惑。在不破坏用户体验的情况下,在后台更新排名和其他信息的最佳方法是什么。

2 个答案:

答案 0 :(得分:0)

后台更新的最佳选择可能是IntentService。它很容易实现并完成工作。

如果您真的想从服务器强制推送数据,则可以使用Google Cloud Messaging。

答案 1 :(得分:0)

尝试异步任务库,看起来像这样

private class LongOperation extends AsyncTask<Void, String, String> {

      @Override
        protected void onPreExecute() {}

        @Override
        protected String doInBackground(String... params) {
            ....
           //do some task
           ............
        }

        @Override
        protected void onPostExecute(String result) {
            //Display reasult
        }

}

这非常适合做后台任务,因为UI线程在前台。

http://developer.android.com/reference/android/os/AsyncTask.html

了解更多相关信息