2

私は Android と Java の初心者です。別のクラス「ユーティリティ」を使用して、アクティビティでメッセージを保存して読み取る必要があります。そしてそれは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 を使用する必要がありますか?

君たちありがとう。

4

2 に答える 2

4

おそらくすべきことAsyncTaskは、Android のアプリでのマルチスレッドの方法を使用することです。

これについてアンドロイド開発者を読んでみてください:http://android-developers.blogspot.co.il/2010/07/multithreading-for-performance.html

于 2012-07-05T08:10:03.973 に答える
1

いいえ、Service(またはIntentService)またはAsyncTask適切に機能します。詳細については、http://developer.android.com を参照してください

于 2012-07-05T08:08:41.367 に答える