3

我有一项网络服务,其中有国家、州和相应城市的列表。现在,在我的 Android 应用程序中提取这些数据时,我有点困惑。现在我只有 2 个(美国、加拿大)国家数据,但将来可能会增加。我也有这个国家的州名单,是的,每个州的城市。

我的应用程序中有一个启动画面,我在其中编写了获取国家/地区的逻辑,并在此基础上获取州,然后是每个州的城市。但它的过程很长,如果我发布这个,用户会因等待时间而感到沮丧。所以我不想使用这种需要更长时间来提取数据的方式。有没有其他方法或建议让我实现这一目标。

欢迎所有建议。

4

3 回答 3

1

您应该使用AsyncTask执行任何 Web 数据下载(和上传),它在后台工作并且不会阻塞 UI 线程,因此您的用户不会注意到。

此外,最好在您的应用程序中提供默认国家/城市数据,然后仅下载更改/更新。

于 2012-10-29T10:31:00.523 回答
0

使用服务或意图服务,在后台下载数据。下载完成后,您可以使用 onbind 显示下载的数据。服务在单独的线程上运行。

于 2012-10-29T09:59:40.517 回答
0

您可以简单地使用系统 DownloadManager 从您的源中获取文件并稍后处理它们。当文件完全下载时,DownloadManager 甚至会通知您。

查看https://github.com/commonsguy/cw-android/blob/master/Internet/Download/src/com/commonsware/android/download/DownloadDemo.java以获取使用 DownloadManager 的简单示例代码。

于 2012-10-29T10:49:27.767 回答