Форум программистов, компьютерный форум CyberForum.ru

Проблемы получения JSON c Яндекса - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Последовательное выполнение Async Tasks и progressdialog http://www.cyberforum.ru/android-dev/thread882258.html
как используя asyncTask.execute(); asyncTask.get(); вывести progressdialog?
Android Можно ли писать игры на OpenGL ES под андройд ваще без Java? Можно ли писать программки под андройд полностью без джавы на чистом NDK? Может как то с использованием native activity ? http://www.cyberforum.ru/android-dev/thread882152.html
Фон музыка Android
Здрасте, делал фон музыку по этому гайду http://dajver.blogspot.com/2012/08/android-8.html в чем может быть причина, что подчеркивается метод?
Android Динамически созданные компоненты
Здравствуйте, возник вопрос. есть Fragment на него в run time добавляются компоненты, после смены fragment и последующем восстановлении,все компоненты созданные в run time исчезают. как можно сохранить/восстановить динамически созданные компоненты?
Android Как сделать AlertDialog со списком с цветными строками? http://www.cyberforum.ru/android-dev/thread881833.html
Вопрос новичка. Собственно subj. Есть список из десятка ЦВЕТОВ, которые нужно выбирать из списка. Из выпадающего списка или по нажатию кнопки. ЗЕЛЕНЫЙ, СИНИЙ, НЕБЕСНЫЙ или даже #003423 не вариант. Список программно расширяемый (не из xml-ресурсов брать). Нужно предложить выбор с цветными строками. В идеале управлять цветом и фона и шрифта строк в списке(белый на черном, черный на белом, зеленый...
Android Отобразить таблицу БД Всем доброго времени суток! Недавно столкнулся с проблемой, как отобразить таблицу БД, которая содержит в себе 4 столбца. Пытался использовать уже имеющиеся примеры отображения таблицы в ListView, но у меня выходит только отобразить один столбец! Подскажите пожалуйста, как можно решить эту проблему? Что использовать для отображения таблицы? подробнее

Показать сообщение отдельно
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
30.05.2013, 16:49  [ТС]     Проблемы получения JSON c Яндекса
Действительно))
Буду вам благодарен, haribo, если вы (и кто-то ещё, кто зайдет в эту тему) обратит внимание на сам процесс разбора данных!
Кода много, приведу ключевые моменты:

1. Я проанализировал составляющие тех данных, которые забираю и создал класс (за неимением в Java структур, как в Си), в котором буду это всё хранить:
Java
1
2
3
4
5
6
7
8
9
10
public class JSON_Struct {
    
    String          summary;
    ArrayList<Author> authors = new ArrayList<Author>();
    String          title;
    String          updated;
    int             imageCount;
    ArrayList<Entry> entries = new ArrayList<Entry>();
    Links           links = new Links();
}
Соответственно, сделал подклассы для "объёмных" элементов этой структуры:
Java
1
2
3
4
5
6
7
8
class Entry {
    String summary;
    String tags;
    String edited;
    String hideOriginal;
    String disableComments;
    Img imgs = new Img();
}
И т.д. - все созданные мною вложенные классы приводить нет смысла.

Собственно, моя ф-ция парсинга, на вход которой идёт строка, полученная мною после успешной обработки GET-запроса:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
JSON_Struct ParseJSON(String data) {
                
    JSONObject jObj;
           JSON_Struct json;
    try {
        jObj = new JSONObject(data);
        json = new JSON_Struct();
            
        json.summary    =   jObj.getString("summary");
        json.title  =   jObj.getString("title");
        json.updated    =   jObj.getString("updated");
        json.imageCount =   jObj.getInt("imageCount");
        json.links  =   getLinks(jObj.getJSONObject("links"));
        json.entries    =   getEntries(jObj.getJSONArray("entries"));
        json.authors    =   getAutors(jObj.getJSONArray("authors"));
            
    } catch (Exception e) {
        e.printStackTrace();
    }
           return json;
}
Ф-ция getEntries():
Java
1
2
3
4
5
6
7
8
9
10
11
12
ArrayList<Entry> getEntries (JSONArray array) {
    ArrayList<Entry> entries = new ArrayList<Entry>();
        
    try {
        for(int i = 0; i < array.length(); i++)
            entries.add(getOneEntry(array.getJSONObject(i)));
        
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return entries;
    }
Соответственно, в ней вызываю написанную мною ф-цию <getOneEntry()>, которая "углубляется" дальше в данные.
getEntries(), getAutors() имеют приблизительно такую же структуру.
---------------------------------------------------------------------

Вот
Если кому-то будет не лень посмотреть мой код - буду благодарен замечанием по общему построению парсинга!
Спасибо

P.S. Сбилось форматирование в некоторых местах((
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru