我是Android的新手,甚至是Java。 我必须使用另一个类“Utility”在活动中保存和阅读消息。它会导致ANR,我听说我必须在一个单独的线程中做那种事情 这是我的代码:
Utility.save(this, message, lsn);
Message tmp = Utility.read(this, lsn);
我试过这个:
final ProgressDialog progressDialog = ProgressDialog.show(
this, "Please wait....", "Here your message");
new Thread(new Runnable() {
public void run() {
Utility.save(this, message, lsn);
Message tmp = Utility.read(this, lsn);
progressDialog.dismiss();
}
}).start();
你可以想象,没有办法像这样。 我需要使用aidl吗?
谢谢你们。
答案 0 :(得分:4)
你应该做的是使用AsyncTask
这是应用程序中多线程的Android方式。
尝试在Android开发人员中阅读:http://android-developers.blogspot.co.il/2010/07/multithreading-for-performance.html
答案 1 :(得分:1)
不,Service
(或IntentService
)或AsyncTask
可以正常完成工作,请考虑在http://developer.android.com了解更多信息