Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中高效地从Web服务推送大数据_Android_Web Services_Database Performance - Fatal编程技术网

在Android中高效地从Web服务推送大数据

在Android中高效地从Web服务推送大数据,android,web-services,database-performance,Android,Web Services,Database Performance,我有一个web服务,其中列出了国家、州和相应的城市。现在,在我的Android应用程序中提取这些数据时,我有点困惑。目前我只有2个国家(美国、加拿大)的数据,但将来可能会增加。我还列出了这个国家的州,是的,还有每个州的城市 我在我的应用程序中有一个闪屏,我在闪屏上写下了获取国家的逻辑,在此基础上,我获取了每个州的州和城市。但这是一个漫长的过程,如果我发布这篇文章,用户会因为等待时间而感到沮丧。所以我不想使用这种方式,因为它需要更长的时间来提取数据。有没有其他方法或建议让我实现这一目标 欢迎所有建

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

我在我的应用程序中有一个闪屏,我在闪屏上写下了获取国家的逻辑,在此基础上,我获取了每个州的州和城市。但这是一个漫长的过程,如果我发布这篇文章,用户会因为等待时间而感到沮丧。所以我不想使用这种方式,因为它需要更长的时间来提取数据。有没有其他方法或建议让我实现这一目标


欢迎所有建议。

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

您应该使用来执行任何web数据下载(和上载),它在后台工作,不会阻止UI线程,因此您的用户不会注意到


另外,在应用程序中提供默认的国家/城市数据,然后只下载更改/更新也是一个好主意。

您可以简单地使用系统下载管理器从您的源中获取文件,然后进行处理。下载管理器甚至会在文件完全下载时通知您


请看一个使用DownloadManager的简单示例代码。

是的,我正在使用异步任务。但我的问题是,我有3个国家,州和城市纺纱机。在初始屏幕中,我获取这些数据,在下一个屏幕中,我显示这些数据。但是在获取这些数据时需要更长的时间。所以我想知道如何为用户节省等待时间。对此有什么建议或提示吗?正如我之前所说,1)在应用程序中提供默认数据,这样你就可以直接显示一些东西,大约有200个国家,可能有1000个大城市,这些数据不会占用太多空间。2) 将下载的数据保存到设备上,然后下次应用程序启动时,您不必访问web,只需从磁盘加载数据,最坏情况下需要300-500毫秒。