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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Freemanasus
2 / 2 / 1
Регистрация: 25.01.2014
Сообщений: 51
#1

C JSON в ListView - Программирование Android

24.02.2014, 00:39. Просмотров 1518. Ответов 5
Метки нет (Все метки)

Здравствуйте! Есть файл data.json. Он находится в приложении. Его содержимое;
{
"name": "Антон",
"name": "Анна",
"name": "Денис",
...
}
Нужно чтобы при включении программы, программа читала файл и выводила имена в ListView. Естественно в каждой строчке по имени.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 00:39     C JSON в ListView
Посмотрите здесь:

JSON из URL в ListView | Fragment - Программирование Android
Здравствуйте! Есть фрагмент показывающий listView. Также есть локальный сайт (http://stat/api/main/) возвращающий Json-массив. Как парсить...

Получить json в приложении и вывести его в listview во фрагмент - Программирование Android
Здравствуйте, у меня такая проблема не могу разобраться как получить json в приложение и вывести его в listview во фрагмент.

JSON - Программирование Android
В продолжение моей борьбы с json, поделитесь полезными ссылками для изучения, буду очень признателен. И вот вопрос, у меня есть массив...

Json в массив - Программирование Android
Пишу запросы к api сервера. Хочу сделать так что бы класс обрабатывающий запрос возвращал информацию не в json-объектах, а в java-массиве...

Json djangorestframework - Программирование Android
Здравствуйте есть сайт с которого нужно получить json 52.24.128.34:8000/api/tasks/?format=json json вида в примере по использованию...

JSON и Андроид - Программирование Android
Ребята помогите распарсить строку вида Делал так: public class JSON { private JSONObject jsonObject; ...

Получить json - Программирование Android
Здравствуйте. Мне нужно получить следующий json ответ с моего сайта для мобильного приложения. ...

Парсинг JSON - Программирование Android
Привет знатокам своего дела, у меня уже крик души! Какой час не выходит распарсить такой JSON ...

Android JSON - Программирование Android
Народ можете скинуть статеек или пару примеров написать как принимать. Настроил сервер на элементарный ответ А вот теперь хочу что бы...

JSON в SQLite - Программирование Android
Подскажите, как правильно передать данные для записи в базу. В этом методе собственно сам json public void invoke() { ...

Парсинг json - Программирование Android
Здравствуйте! Имеется такой json код: { "data": }И я его обрабатываю так: JSONArray urls = json.getJSONArray("data"); Тогда, как мне...

Парсер JSON - Программирование Android
C помощью Jsoup парсю JSON страницу и кодировка не работает пишет тупо вопросики. Как исправить? Второй вопрос, как мне вытаскивать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
24.02.2014, 09:50     C JSON в ListView #2
Цитата Сообщение от Freemanasus Посмотреть сообщение
Нужно чтобы
Не получается читать файл? Не получается парсить JSON ? Не понятно как заполнять ListView ? С чем конкретно у вас возникли проблемы?
Freemanasus
2 / 2 / 1
Регистрация: 25.01.2014
Сообщений: 51
24.02.2014, 10:00  [ТС]     C JSON в ListView #3
angryrobot, парсить JSON
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
24.02.2014, 10:18     C JSON в ListView #4
Цитата Сообщение от Freemanasus Посмотреть сообщение
парсить JSON
По моему мнению, это никакой не JSON, поскольку не соблюдается уникальность имени ключа. Если внутри файла просто массив имен, то он должен выглядеть иначе, например так:
["Антон", "Анна", "Денис"]
Тогда он может быть распознан парсером JSON'а :
Java
1
2
3
4
5
6
7
8
9
10
        String jsonData = "[\"Антон\", \"Анна\", \"Денис\"]";
        
        try {
            JSONArray jArray = new JSONArray(jsonData);
            for (int i=0 ; i < jArray.length() ; i++ ) { 
                System.out.println(jArray.get(i));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
Код выведет все три имени в логкат:

02-24 10:15:21.074: I/System.out(6554): Антон
02-24 10:15:21.074: I/System.out(6554): Анна
02-24 10:15:21.074: I/System.out(6554): Денис
nikolay1982
93 / 93 / 38
Регистрация: 22.01.2014
Сообщений: 310
25.02.2014, 02:01     C JSON в ListView #5
ListView заполняется через ListAdapter.
Java
1
listView1.setAdapter(adapter);
Но для начала нужно это адаптер создать.
Это очень хитро придуманно.
В качестве адаптера я использовал у себя ArrayAdapter<String>.
Нужно еще создать разметку адаптера.
Чтения файла с ресурсов.
Java
1
InputStream ins=getResources().openRawResource(R.raw.my_json);
Это значит что в каталоге raw проекта должен быть 'my_json.json'.Или другое расширение.
Как с данными json - не знаю.
Можешь попробовать:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public String[] splitStr(String s,char delim){
        int co,i,fi;
        co=0;
        Vector <String> v=new Vector<String>();
        fi=0;
        for (i=0;i<s.length();i++){
            char c=s.charAt(i);
            if (c==delim){
                String s2=s.substring(fi,i);
                fi=i+1;
                v.add(s2);
            } 
        }
        if (fi<s.length())v.add(s.substring(fi));
        String []ret=new String[v.size()];
        for (i=0;i<v.size();i++){
            ret[i]=v.elementAt(i);
        }
        return ret;
    } 
..
try{
InputStreamReader reader=new InputStreamReader(ins,"UTF-8");
LineNumberReader rds=new LineNumberReader(reader);
Vector <String> v=new Vector<String>();
String s;
while((s=rds.readLine())!=null){
    String ssplit[]=splitStr(s,',');
    for (int i=0;i<ssplit.length;i++) v.add(ssplit[i]);
}
rds.close();
}catch(Exception e){
e.printStackTrace();
}
Еще надо предусмотреть здесь удаление кавычек и других ненужных символов.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.02.2014, 00:03     C JSON в ListView #6
Можно и через SimpleAdapter. Для простой разметки можно свою не делать, а взять готовую из android.R.*.
Для json есть классы JSONObject, JSONArray.

Добавлено через 12 часов 51 минуту
[Тема была объединена с предыдущей.]
Yandex
Объявления
26.02.2014, 00:03     C JSON в ListView
Ответ Создать тему
Опции темы

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