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