【发布时间】:2014-01-02 05:13:46
【问题描述】:
我正在做一个项目,我必须在服务器上的 mysql 数据库中获取数据表。现在我必须在我的 android 应用程序中插入这些表。
我已经使用Json Parsing 和asynctask 和sqlitedatabase 成功实现了该功能,我已经编写了php 代码,通过它我可以从mysql 服务器获取数据到我的应用程序。
这种方法的问题:
- 时间:当我在 Launcher Activity 中从服务器获取该数据时,我的 Activity 开始并需要大约 10 分钟才能从服务器获取所有数据。我想缩短那个时间,我不想耽误那么多时间,5-10秒就可以了
- 每次我的应用程序启动时,它都会进入该获取模式。这导致 10 分钟的加载页面。 我不想要这个,我想要检查服务器上存在的数据库更改的东西,如果有更改,那么它应该开始在后台本身获取。我正在考虑使用警报管理器提供服务,但我不知道如何通过服务来实现所有这些。我应该在服务中使用 asyncTask 还是其他。
我不确定这个细节是否足够,但如果需要我会给你详细的解释。对此的任何帮助将不胜感激,如果我的方法是错误的,那么我会更乐意将我的方法更改为优化的方式。
【问题讨论】:
-
是否需要进行所有数据加载才能启动您的应用程序?还是可以在后台任务中完成?这样用户就可以在数据成型时继续使用您的应用涂鸦?
-
每一条下载数据都会在我的下一个活动中使用,所以我想我必须先下载所有数据。如果数据不存在,用户将无法执行任何操作。
-
数据的大概大小是多少?
-
那么如果用户的数据连接速度超过 10 MBPS 那么就有可能在 10 秒内完成工作:(
-
相反,您可以使用标志值来实现。在后台下载任务中维护标志,让用户界面空闲,并在用户采取下一步行动之前检查任务是否完成。
标签: android mysql json performance android-asynctask