在运行app之前从数据库获取数据

时间:2017-11-19 00:43:36

标签: android android-asynctask

我的应用程序有微调器,在这个微调器中我有数据库中的数据。

我使用async task从数据库中获取数据,并在onPostExecute方法中向spinner添加此数据。

我的主要问题是,当我运行app时,我的微调器数据不可用,因为异步任务还没有完成。

我的问题是,在运行我的应用程序之前,我必须要做的是数据库中的数据是否处于微调状态?

2 个答案:

答案 0 :(得分:1)

创建一个覆盖微调器的布局,显示加载消息,并在asynctask的post execute方法中将此布局可见性设置为GONE

或者在主活动中加载数据,并在任务完成时启动微调器活动

答案 1 :(得分:0)

实际上,加载像微调器数据这样的简单数据非常快(通常为100,200毫秒)。然后你不必在打开应用程序之前加载数据。也许你的问题是使用AsyncTask做了太多事情。 AsyncTask在一个队列中运行,一个接一个地完成。所以,我的建议是使用Thread将微调器数据加载为:

new LoadingSpinnerDataThread().start(); // it's better if you can use RxAndroid.