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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
#1

Создать таблицу из XML - Android

30.01.2014, 11:38. Просмотров 2273. Ответов 29
Метки нет (Все метки)

Всем добрый день, помогите пожалуйста.
Возможно ли программно создать таблицу из полученного xml?
Просто напишите свои мнения ответы ссылки даже пример

Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 11:38     Создать таблицу из XML
Посмотрите здесь:

main.xml Android
string.xml Android
Android Поиск по xml
Android Создание XML
Android Создать файл из xml
Android Парсинг XML
Чтение XML Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
30.01.2014, 14:29     Создать таблицу из XML #2
Формат xml файла допускает хранения в нем таблиц. А что вами подразумевается под "создать таблицу" ? Отобразить её на экране или просто прочитать xml файл или представить его данные в каком-то определённом виде (например в виде двумерного массива) ?
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
30.01.2014, 16:49  [ТС]     Создать таблицу из XML #3
Простите немножко непонятно поставил вопрос наверное.
В xml есть номера и имена сотрудников ну и стаж работы. (чисто для примера)
Нужно при получении ответа от сервера в виде xml - Создать таблицу и запихнуть туда все данные с xml.
Попробовал с помощью xmlPullParser но не смог. Я уже почти месяц пытаюсь понять но ни как не получается.
Пожалуйста помогите с задачей, а результат сделаем общедоступным и любой новичек как я поймет и отблагодарит вас, ну и поможет другим разобраться).
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
30.01.2014, 17:56     Создать таблицу из XML #4
Цитата Сообщение от Kazachek Посмотреть сообщение
немножко непонятно поставил вопрос наверное
К сожалению после вашего пояснения понятней не стало
Что вы понимаете под таблицей которую надо создать из данных представленных в виде xml ?
Таблица базы данных ? Нарисовать таблицу на экране ?
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
30.01.2014, 19:47  [ТС]     Создать таблицу из XML #5
Нарисовать таблицу на экране

Добавлено через 1 час 38 минут
Есть идеи или предложения?
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
30.01.2014, 20:30     Создать таблицу из XML #6
Цитата Сообщение от Kazachek Посмотреть сообщение
Есть идеи или предложения?
Разбить задачу на более мелкие составляющие и начать её решать:
1) Загрузка xml файла из интернета
2) Парсинг файла
3) Отображение данных

Как я понимаю у вас не получается распарсить xml. Вот мой первый опыт в этой области :
Парсить будем то что вы хотели - xml с данными о работниках:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<employees>
    <employee id="1111" name="Иванов" experience="10"></employee>
    <employee id="2222" name="Петров" experience="20"></employee>
    <employee id="3333" name="Сидоров" experience="30"></employee>
</employees>
Для простоты, я храню весь xml в обычной строковой переменной, а данные вывожу в LogCat:

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
        String xmlData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n" + 
                "<employees>\r\n" + 
                "<employee id=\"1111\" name=\"Иванов\" experience=\"10\"></employee>\r\n" + 
                "<employee id=\"2222\" name=\"Петров\" experience=\"20\"></employee>\r\n" + 
                "<employee id=\"3333\" name=\"Сидоров\" experience=\"30\"></employee>\r\n" + 
                "</employees>";
 
 
        XmlPullParser xpp = null;
        try {
            xpp = XmlPullParserFactory.newInstance().newPullParser();
            xpp.setInput(new StringReader(xmlData));
            int eventType = xpp.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT) {
                if (eventType == XmlPullParser.START_TAG) { 
                    for (int i=0 ; i < xpp.getAttributeCount() ; i++) { 
                        System.out.println(xpp.getAttributeName(i) + " : " + xpp.getAttributeValue(i));
                    }
                    System.out.println("# # # # # #");
                }
                eventType = xpp.next();
            }
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
После выполнения этого кода, в LogCat я вижу следующее:

01-30 20:27:24.754: I/System.out(9359): # # # # # #
01-30 20:27:24.754: I/System.out(9359): id : 1111
01-30 20:27:24.754: I/System.out(9359): name : Иванов
01-30 20:27:24.754: I/System.out(9359): experience : 10
01-30 20:27:24.754: I/System.out(9359): # # # # # #
01-30 20:27:24.754: I/System.out(9359): id : 2222
01-30 20:27:24.754: I/System.out(9359): name : Петров
01-30 20:27:24.754: I/System.out(9359): experience : 20
01-30 20:27:24.754: I/System.out(9359): # # # # # #
01-30 20:27:24.764: I/System.out(9359): id : 3333
01-30 20:27:24.764: I/System.out(9359): name : Сидоров
01-30 20:27:24.764: I/System.out(9359): experience : 30
01-30 20:27:24.764: I/System.out(9359): # # # # # #
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
30.01.2014, 20:54  [ТС]     Создать таблицу из XML #7
А как вывести не в лог кат а листвьюв или добавив теги в вебвьюв или просто нарисовать таблицу, подскажите пожалуйста
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
30.01.2014, 21:46     Создать таблицу из XML #8
Цитата Сообщение от Kazachek Посмотреть сообщение
А как вывести не в лог кат а листвьюв
Для этого вам нужно разобраться с листвью, понять что такое адаптеры и как их использовать. Потом необходимо заменить тело цикла внутри которого происходит перебор записей в xml файле. Теперь в нем будет код который производит добавление данных в адаптер вместо LogCat'a.
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
30.01.2014, 21:55  [ТС]     Создать таблицу из XML #9
Ок, сейчас начну от и до изучать листвью. А в листвью можно ли разделить поля? Как в таблице например? Просто да и нет ответьте чтоб я сам постарался и вывел так

Добавлено через 1 минуту
А нет, можно так как иногда в листьвью есть и картинки, знчит это возможно сделать
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
30.01.2014, 22:01     Создать таблицу из XML #10
Цитата Сообщение от Kazachek Посмотреть сообщение
А в листвью можно ли разделить поля? Как в таблице например?
Это не самый лучший вариант. На мой взгляд вместо листвью лучше использовать GridView. Выглядеть будет как-то так:
Создать таблицу из XML
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
31.01.2014, 14:16  [ТС]     Создать таблицу из XML #11
Цитата Сообщение от angryrobot Посмотреть сообщение
лучше использовать GridView
Сегодня тестировал и экспериментировал GridView и научился чуть чуть с ним обращаться, и с литвью тоже поэкспериментировал чтоб понять что как. Огромное спасибо за картинку, потому что визуально до нас быстрее доходит.

Добавлено через 5 минут
Почему то у меня в лог кате пусто, после нажатии копки по плану в лог кате должны были появиться данные, но их нет? и ошибку не выдает. Так какойто фильтр нужно установить?*
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
31.01.2014, 14:37     Создать таблицу из XML #12
Цитата Сообщение от Kazachek Посмотреть сообщение
Почему то у меня в лог кате пусто, после нажатии копки по плану в лог кате должны были появиться данные, но их нет? и ошибку не выдает. Так какойто фильтр нужно установить?*
Вы уверены что при нажатии на кнопку вызывается тот код который должен печатать в лог? Фильтр можно установить по столбцу "Application" или вообще сбросить все фильтры если сомневаетесь.
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
01.02.2014, 12:19  [ТС]     Создать таблицу из XML #13
Цитата Сообщение от angryrobot Посмотреть сообщение
Вы уверены что при нажатии на кнопку вызывается тот код который должен печатать в лог?

Создал новый проект, залил код внутри он креата но все равно в логе ничего не отображается. а нельзя как то в TextView вывести?

Добавлено через 17 часов 6 минут
angryrobot, Прошу помощи. не справляюсь.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
01.02.2014, 12:24     Создать таблицу из XML #14
Цитата Сообщение от Kazachek Посмотреть сообщение
angryrobot, Прошу помощи. не справляюсь.
Показывайте весь код
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
01.02.2014, 12:53  [ТС]     Создать таблицу из XML #15
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.example.myxml;
 
import java.io.IOException;
import java.io.StringReader;
 
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        String xmlData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n" + 
                "<employees>\r\n" + 
                "<employee id=\"1111\" name=\"Иванов\" experience=\"10\"></employee>\r\n" + 
                "<employee id=\"2222\" name=\"Петров\" experience=\"20\"></employee>\r\n" + 
                "<employee id=\"3333\" name=\"Сидоров\" experience=\"30\"></employee>\r\n" + 
                "</employees>";
 
 
        XmlPullParser xpp = null;
        try {
            xpp = XmlPullParserFactory.newInstance().newPullParser();
            xpp.setInput(new StringReader(xmlData));
            int eventType = xpp.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT) {
                if (eventType == XmlPullParser.START_TAG) { 
                    for (int i=0 ; i < xpp.getAttributeCount() ; i++) { 
                        System.out.println(xpp.getAttributeName(i) + " : " + xpp.getAttributeValue(i));
                    }
                    System.out.println("# # # # # #");
                }
                eventType = xpp.next();
            }
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        
        
        
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
01.02.2014, 13:21     Создать таблицу из XML #16
В LogCat должно нормально печататься. А какие-нибудь другие сообщения в него печатаются или он вовсе пустой ?
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
01.02.2014, 22:32  [ТС]     Создать таблицу из XML #17
Цитата Сообщение от angryrobot Посмотреть сообщение
В LogCat должно нормально печататься. А какие-нибудь другие сообщения в него печатаются или он вовсе пустой ?
Пусто
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
01.02.2014, 23:05     Создать таблицу из XML #18
Цитата Сообщение от Kazachek Посмотреть сообщение
Пусто
Вы используете эклипс? Если да, то перейдите (1.) в перспективу DDMS и посмотрите отображается ли ваше устройство. Иногда бывает странный глюк когда устройство подключено, а логи не видны. Для этого нужно просто выбрать (2.) устройство из списка:
Создать таблицу из XML
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 337
03.02.2014, 08:29  [ТС]     Создать таблицу из XML #19
Извините за поздний ответ, были проблемы с интернетом.

Проверил, устройство отображается в эмуляторе.
Запустил заново, появились ошибки, но приложении запускается.
Сделал два скриншота для полного представления.
Миниатюры
Создать таблицу из XML   Создать таблицу из XML  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 10:35     Создать таблицу из XML
Еще ссылки по теме:

Android Разметка XML
Как создать файл (txt, xml) в android (Eclipse) Android
Android Xml Yahoo
Парсинг XML Android
Программно создать таблицу в Fragment Android

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

Или воспользуйтесь поиском по форуму:
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
03.02.2014, 10:35     Создать таблицу из XML #20
Цитата Сообщение от Kazachek Посмотреть сообщение
Запустил заново, появились ошибки, но приложении запускается.
Похоже что это ошибки не вашего приложения. Отключите все фильтры и запустите снова. Панелька с фильтрами у вас спрятана, она отображается при нажатии на вторую справа кнопку. В панель фильтров выберите пункт All messages и всё должно появиться.
Yandex
Объявления
03.02.2014, 10:35     Создать таблицу из XML
Ответ Создать тему
Опции темы

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