在从MySQL服务器提取数据之前,活动不会启动

时间:2011-08-30 12:20:13

标签: android mysql android-activity

我有Activity根据从MySQL服务器提取的数据显示文本。问题是Activity在数据被拉出之前不会加载,有时需要很长时间甚至根本不加载,同时用户会出现黑屏。

我试图将数据从服务器传递到服务,但它也等待提取数据,然后显示Activity的布局。

我还尝试使用固定文本进行活动,然后调用从服务器提取数据的Activity,但程序仍在等待数据。

你能想到一个有创意的解决方案吗?或者也许是非创造性的:)

4 个答案:

答案 0 :(得分:1)

你可以使用asynctask:

http://developer.android.com/reference/android/os/AsyncTask.html

或者您可以向用户显示等待对话框,直到您获得数据(在单独的线程中执行).....

或者你可以实现一个启动画面,你可以在那里获取数据.....

答案 1 :(得分:0)

您需要在另一个线程中执行此操作。尝试使用AsyncTask类。

答案 2 :(得分:0)

延迟可能是由于调用获取主线程上的数据,也称为UI线程。花费任何大量时间的过程,我的意思是即使是一两秒也应该在一个单独的线程中完成。 Android提供了一个名为AsyncTask的类,以帮助使线程无痛。

答案 3 :(得分:0)

你提到你尝试了一项服务,但是你看了一下IntentService吗? (无法链接它,但它在d.android.com上。)我喜欢将它们用于这些任务,因为它们为您处理线程(如AsyncTask)并且它更好地分离了关注点。然后,IntentService发送活动选择的广播消息,指示数据是否可用。将数据本地存储在sqlite db或json / xml文件中。