API呼び出しなどのネットワーク関連タスクは、アクティビティライフサイクルのどこに配置する必要がありますか?

gk。

今のところ、単一のアクティビティを持つAndroidアプリを作成しています。このアクティビティは、APIを呼び出して、JSON応答を取得し、フラグメントにデータを入力します。JSON応答を受信したら、データセットを更新してアダプターに通知します。現在、JSONリクエストはonCreateメソッドで呼び出されます。

同様に、各フラグメントでネットワークからイメージをロードする必要があるので、それもonCreateViewどこかに配置する必要があるのでしょうか。

これを達成するためのベストプラクティスを知りたいと思います。

アミン

サーバーの応答時間とネットワーク速度によっては、応答が遅くなり、UIがブロックされる可能性があるため、ネットワーク処理を行う場合は非同期イベントを使用することをお勧めします。これは適切ではありません。

AsyncTaskAPIを呼び出すときに統合することをお勧めします

これが例です

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]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ