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

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

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

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

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

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

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

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

Ошибка - Errororg.json.JSONExceprion: Value bd.json of type java.lang.String cannot be converted to JSONObject - Программирование Android
Здравствуйте! Есть база данных bd.json, которая находится в проекте в папке assets. Вот содержимое базы данных; { "name":...

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

5
angryrobot
Командир зеленых роботов
348 / 285 / 53
Регистрация: 08.10.2013
Сообщений: 564
24.02.2014, 09:50 #2
Цитата Сообщение от Freemanasus Посмотреть сообщение
Нужно чтобы
Не получается читать файл? Не получается парсить JSON ? Не понятно как заполнять ListView ? С чем конкретно у вас возникли проблемы?
0
Freemanasus
2 / 2 / 1
Регистрация: 25.01.2014
Сообщений: 51
24.02.2014, 10:00  [ТС] #3
angryrobot, парсить JSON
0
angryrobot
Командир зеленых роботов
348 / 285 / 53
Регистрация: 08.10.2013
Сообщений: 564
24.02.2014, 10:18 #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): Денис
0
nikolay1982
93 / 93 / 38
Регистрация: 22.01.2014
Сообщений: 316
25.02.2014, 02:01 #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();
}
Еще надо предусмотреть здесь удаление кавычек и других ненужных символов.
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.02.2014, 00:03 #6
Можно и через SimpleAdapter. Для простой разметки можно свою не делать, а взять готовую из android.R.*.
Для json есть классы JSONObject, JSONArray.

Добавлено через 12 часов 51 минуту
[Тема была объединена с предыдущей.]
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2014, 00:03
Привет! Вот еще темы с ответами:

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...

Использование ListView в ListView - Программирование Android
Всем привет. Можете показать как использовать ListView в ListView, с заполнением как внешнего ListView, так и внутреннего причем с...

Переход из Listview в Listview - Программирование Android
Как сделать, что бы когда нажимаешь в главном листвью на кнопку, открывалось новое нужное(т.е. то по которому тапнули) активити с другим...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
26.02.2014, 00:03
Ответ Создать тему
Опции темы

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