0
The following is my example code.
private class PostLikes extends AsyncTask<Integer, Void, Void> {
String type_id, msg;
@Override
protected Void doInBackground(Integer... params) {
//....
//....
type_id = jsonobject2.getString("type_id");
msg = jsonobject2.getString("msg");
return null;
}
@Override
protected void onPostExecute(Void result) {
if (type_id.equals("1")) {
Toast.makeText(getApplicationContext(), "error, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
}
}
}
AsyncTaskを使用する標準的な方法は、doInBackground関数がバックグラウンドスレッドの結果をonPostExecute関数に返すようにすることです。 そのコードは正常に機能していますが、私は上記のコードに問題があるかどうかを知りたいと思います。おかげさまで アンドロイドのAsyncTaskのdoInBackgroundとonPostExecuteの両方にクラスメンバーを共有する際に問題がありますか?
あなたの答えをありがとう。戻り値がマルチ配列(String、int、boolean)の場合には複雑なパラメータを使用するよりも良いと思います。しかし、私はここでこのようなサンプルコードを見つけることができません。 – bb14816
あなたの意見を知りたい。 – bb14816
技術的には、ドキュメントは、バックグラウンド計算の結果が 'onPostExecute()'に渡されると述べています。それがパターンです。問題は、読み取り可能でメンテナンス可能なものです。パターンを満たすために、またはメンバ変数を使用するためにワンタイム使用構造を構築していますか?私はいずれにしても思うが、意見は変わると思う。 – Cheticamp