0
多くのWebサービス(JSON)から同時にデータを取得できるフラグメントを開発中です。のは、このイメージを想像してみましょう: demo imageAndroid - 同じ時間に多くのWebサービス(JSON)からデータを取得する
- リクエストデータ(このメソッドはJSONをダウンロードする機能を呼び出し、コールバックリスナーを経由して応答を送信します
> @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); BaseDataReponsitory baseDataReponsitory = new BaseDataReponsitory(); baseDataReponsitory.getDataFromURL(url1, this); baseDataReponsitory.getDataFromURL(url2, this); }
- データを受信:
@Override public void loadListFromURLFinish(String json) { ListEntity listEntity = gson.fromJson(json, ListEntity.class); mList.addAll(listEntity.getEntityList()); Log.d(TAG, "loadListFromURLFinish: " + mList.size()); }
データログは4と9です。それは正しいです(JSON 1には4要素、JSON 2には9要素があります)。 私の質問は、データを分割してビューに設定する方法です(上記の画像を参照)。
解決していただきありがとうございます。私はこれについて別の問題があります。データを受け取るときに非同期タスクを使用する必要がありますか?私はそれを見た前にデータログが数秒遅れていることに気付きました。 –
@Brascelok 'AsyncTask'は必ずしも必要ではありませんが、'非ui-thread'でネットワークコールを行う必要があり、 'AsyncTask'がそれを行います。 –
json文字列をダウンロードするときに、関数baseDataReponsitory.getDataFromURLでAsyncTaskを使用しました。 –