Splashscreen上的Android异步任务

时间:2012-02-29 08:36:18

标签: android android-asynctask

我正在开展一个项目。想要这个应用程序的人不希望智能手机访问数据库。所以他们将xml文件放在网上。首次安装应用程序时,我在本地sqlite数据库中读取xml,以便他们可以脱机访问数据。

现在xml文件已加载到sqlite中。加载xml文件不需要很长时间,但需要足够长的时间才能将其放入een异步任务中。现在我不知道制作启动画面并在异步任务中运行xml解析是否明智。或者如果我需要在其他时间执行此操作?

有人有解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为这取决于您如何处理错误,例如,您的服务器已关闭,或者用户的互联网连接出现问题。 Splashscreen适用于加载显示活动本身所需的资源,但我不认为让用户等待它在后台运行AsyncTask是一个好主意,它可能会使您的应用程序看起来很慢= >糟糕的用户体验。

答案 1 :(得分:0)

首先,当然任何包含网络和数据库查找的操作都应该在一个单独的线程中完成(使用AsyncTask是一个好主意)。然后,有两种方法可以实现您的逻辑:

  1. 如果您的用户在获取数据并将其放入数据库之前无法对您的应用程序执行任何操作,您可能应该显示某种ProgressDialog告诉您的用户您的应用程序正在为工作做好准备。
  2. 如果还有其他选项不需要来自Internet的数据,则必须完全在后台运行数据提取操作,让用户与应用程序进行交互。
  3. 希望这有帮助。