如何在后台从Web服务获取数据?

时间:2016-08-07 16:31:19

标签: android web-services sqlite

我从Web服务获取数据并将其存储到SQLite数据库。我正在获取的记录数量更多,因此获取数据需要花费太多时间。我想获取这些数据,以便在获取数据时我可以使用该应用程序。那就是我想在后台获取数据,就像我们下载大文件一样。下载时我们可以完成剩下的任务。我应该如何在我的应用程序中实现它?

3 个答案:

答案 0 :(得分:0)

已经有很多类似的答案可用,无论如何这里是示例代码。 创建一个innerClass名称作为MyAsyncClass

class MyAsyncClass{
@Override
    protected Object doInBackground(Void... params) {
    // write your method to fetch data from network

}
@Override
    protected void onPostExecute(Object output) {
    // do what ever you want to do with 'output' data
}
}

现在您可以像这样调用此类

MyAsyncClass myAsyncClass = new MyAsyncClass();
myAsyncClass.execute();

在这里你可以打开一些新活动。

Intent intent = new Intent(this, yourActivityName.class);
startActivity(intent);

答案 1 :(得分:0)

你应该从asyncktask调用web服务,它可以在后台运行。

 @Override  
            protected String doInBackground(String... params) {  

                //call your webservice from here;  
                return ;  
            }  

答案 2 :(得分:0)

一开始我使用的是自定义Asynctask,但从Web服务获取信息的速度非常慢。现在我使用Retrofit,时间很短。我最好的建议是实施Retrofit。

Retrofit