0

私は Java を初めて使用しますが、何年もの間 .NET 開発者であり、UI スレッドでの非同期呼び出しの結果を取得できるものから取得できないため、RequestListener オブジェクトのポイントについて少し混乱しています。教えて。私の調査によると、データの取得と保存にシングルトンやアプリケーション コンテキスト オブジェクトを使用すべきではありません。sqlLite を使用することもできますが、必要なデータが一時的すぎて気にすることができません。asyncfacebookrunner オブジェクトに UI スレッドへの応答を報告させる方法を知りたいので、自分の API と、非同期呼び出しで行っている Facebook 呼び出しから返されたオブジェクトとの間で決定を下すことができます。

何か不足していますか?データを取り出す方法が見つからないようです。バンドルを渡すことはできますが、データを取得する方法がよくわかりません。取得する Intent オブジェクトを渡すと思いますが、表示されません。この時点で寝不足で目が交差していると思います。ここで何か助けはありますか?

4

1 に答える 1

0

AsyncFacebookRunnerは、別のスレッドで自動的にリクエストを作成し、RequestListenerメソッドでUIスレッドにポストバックします。

facebookrunner.request("me", new RequestListener() {
    @Override
    public void onComplete(String response, Object state) {
        //We are in the UI thread now
    }

    //Override the other methods, all are in the UI thread

});

それがAsyncTasksの美しさです。AsyncTasksのAndroidドキュメントを参照してください。 http://developer.android.com/reference/android/os/AsyncTask.html doInBackgroundは、別のスレッドで操作を実行します。onPostExecuteはUIスレッドに投稿します。

AsyncTaskは、スレッドとハンドラーを使用して構築されます。スレッドはUIスレッドとは別のものであり、ハンドラーはUIスレッド(メインルーパーとも呼ばれます)にポストバックします。

于 2012-06-09T04:35:21.827 に答える