今のところ、単一のアクティビティを持つAndroidアプリを作成しています。このアクティビティは、APIを呼び出して、JSON応答を取得し、フラグメントにデータを入力します。JSON応答を受信したら、データセットを更新してアダプターに通知します。現在、JSONリクエストはonCreate
メソッドで呼び出されます。
同様に、各フラグメントでネットワークからイメージをロードする必要があるので、それもonCreateView
どこかに配置する必要があるのでしょうか。
これを達成するためのベストプラクティスを知りたいと思います。
サーバーの応答時間とネットワーク速度によっては、応答が遅くなり、UIがブロックされる可能性があるため、ネットワーク処理を行う場合は非同期イベントを使用することをお勧めします。これは適切ではありません。
AsyncTask
APIを呼び出すときに統合することをお勧めします。
これが例です
class JSONAsyncTask extends AsyncTask<String, Void, Boolean> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Boolean doInBackground(String... urls) {
try {
//here you make your api call and json parsing
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
protected void onPostExecute(Boolean result) {
}
そして、あなたはこのようにあなたのonCreateであなたのリクエストを呼び出します
JSONAsyncTask task=new JSONAsyncTask();
task.execute();
詳細については、ドキュメントをご覧くださいhttps://developer.android.com/reference/android/os/AsyncTask
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加