我有Activity
根据从MySQL服务器提取的数据显示文本。问题是Activity
在数据被拉出之前不会加载,有时需要很长时间甚至根本不加载,同时用户会出现黑屏。
我试图将数据从服务器传递到服务,但它也等待提取数据,然后显示Activity
的布局。
我还尝试使用固定文本进行活动,然后调用从服务器提取数据的Activity
,但程序仍在等待数据。
你能想到一个有创意的解决方案吗?或者也许是非创造性的:)
答案 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文件中。