60
При переходе на сцену каталога транслейтов, выполнятся следующие
действия:
1. Вызовется метод getFilterState для определения рубрики(дефолтная
рубрика «Все», но при смене пользователем последняя рубрика
сохраняется и при последующем входе из другого раздела приложения,
при загрузке отобразятся танслейты из нее), и сортировки.
2. Затем произойдет запрос к серверу на получение данных для
формирования списка. Здесь произойдет проверка, не была ли
изменена дефолтная сложность, не нужно ли отобразить 2 столбца(если
девайс - планшет), и какую запросить сортировку.
3. Далее серверу направится уточненный запрос для отображения списка
по полученным параметрам.
4. После завершения запроса, вызовется метод onHttpRequestComplited,
который определит, что нужно делать по завершении запроса. В
первую очередь будет проверено, есть ли ответ от сервера. В случае
успеха создастся строка, в которую соберутся данные ответа. Далее
будут выполняться проверки на предмет того, что именно пришло в
ответе. Мы ожидаем JSON файл с объектом, содержащим массив
[“posts”], если пришел он, то выполним цикл, для каждого элемента
массива вызывающий метод парсинга. Цикл выполнится столько раз,
сколько элементов в массиве.
5. Для каждого элемента массива выполним проверку, является он
объектом (мы ожидаем конкретный объект, содержащий определенные
значения). Если это объект, то проверим каждую пару объекта ключ-
значение: если ключу элемента массива[“posts”] в i’м индексе
[“post_title”] соответствует переменная типа sting, присвоим полю
структуры TranslateInfo.post_title это значение и т.д. для всех полей и
всех элементов массива [“posts”], и наполним каталог транслейтов
сцены этими структурами.