Как можно изменить код, чтобы скачивание происходило быстрее?
Нужно распарсить 200 страниц на каждой из которых по 100 объектов. Сейчас в зависимости от трафика загрузка занимает 10-25 секунд.
public void getData(String number) {
try {
mConnection =
(HttpURLConnection) new URL(buildUrlUsers(number)).openConnection();
try {
InputStream inputStream = mConnection.getInputStream();
BufferedReader bReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder buffer = new StringBuilder();
while ((line = bReader.readLine()) != null) {
buffer.append(line);
}
String resultJson = buffer.toString();
JSONObject dataJson = new JSONObject(resultJson);
JSONArray users = dataJson.getJSONArray("response");
mRealm.beginTransaction();
Users mRealmObject = mRealm.createObject(Users.class);
JSONObject user = users.getJSONObject(Integer.valueOf(number));
mRealmObject.setId(user.getString("id"));
mRealmObject.setName(user.getString("name"));
mRealmObject.setLikes(user.getString("likes"));
Log.d(TAG, "added object # " + number);
} catch (JSONException e) {
e.printStackTrace();
}
mRealm.commitTransaction();
} catch (IOException e) {
Log.e(TAG, "Exception parsing JSON: " + e);
} finally {
mConnection.disconnect();
}
}
public RealmResults<Users> donwloadAllPages() {
for (int i = 1; i < 200; i++) {
getData(String.valueOf(i));
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости