Хорошие практики в parsear JSON в Android

Посредством Джанго Рест Фрамеворк я подбираю около 20 объектов. Каждый объект сформирован 22 признаками типа String. Nombre, url_icono, dirección, и т.д.

В Activity главный, посредством одного GridView, я показываю икону с именем. Нажав элемент бросается секунда Activity которая покажет больше связанных данных (22 остальных признака).

Сомнение: какова подходящая процедура?

  1. В main подбирать все данные о каждом элементе.
  2. В main, загружать только икону и имя и во второй Activity реализовывать новую связь, чтобы подбирать оставшуюся часть данных об этом элементе.
3
задан 22.01.2016, 16:21
3 ответа

Поскольку я работал, подбирать 20 объектов 22 признаков каждый... совсем не. А именно, это не критический сюжет. То, что да критическое и взвешенный на уровне обработки он состоит в том, чтобы реализовывать request в сервер неоднократно. Лично (уже какие-то скажут если да или если не) он рекомендовал бы; всякий раз когда это была управляемая информация, приносить все из удара и это сохраняться локально, таким образом, ты уберегаешься консультации в сервер и твое приложение работало бы лучшего способа. И я предлагаю сохраняться (в файле JSON или BDD), потому что ты не был бы должен хранить структуры данных в памяти, много заботы с этим. Сохранившись локально консультации, вводит тему обновления твоей локальной копии vs данные о сервере, тогда дебете устанавливать квоту (или событие), что выстрелил в обновление, но я гарантирую тебе, что пользователь будет счастлив с локальной копией. Это то, что я могу рекомендовать тебе согласно моему опыту, я надеюсь, что он помогает тебе. Ты комментируешь нам, привет!

7
ответ дан 24.11.2019, 14:58

Если только ты не будешь бороться с очень медленными связями, или что данные были взвешены (казаться больше 1mb) сделай мне это в единственной просьбе. Это тебе предотвращает перегрузку headers в ответах и просьбах дополнительный HTTP.

Также тебя предотвращает дополнительное время, которое подразумевает как таковую просьбу, а именно время с тех пор, как пользователь делает просьбу; просьба прибывает в сервер, обработана и в конце концов ответ прибывает к пользователю снова. Это время названо Роундтрип Тиме (RTT), и вероятно в твоем случае RTT он больше, чем время разряда данных.

Нет ответа, который был бы действительным для всех случаев, в твоем использовала бы одна только просьбу, но это хорошо анализировать каждый случай, который предстает перед тобой.

3
ответ дан 24.11.2019, 14:58

Просто и просто, если самое вероятное состоит в том, чтобы ты согласился на секунду Activity, я рекомендую уникум request, который получил бы все данные, еще больше, если бы он только произвел 20 объектов с 22 признаками каждый, это количество объектов я не верю в то, что считаю ее бдительностью, которая могла бы производить проблему памяти, выбор состоял бы "в том, чтобы подбирать 20 объектов 22 признаков каждый" в MainActivity

В main подбирать все данные о каждом элементе.

1
ответ дан 24.11.2019, 14:58