Импорт данных в sqlite из xml (удаленный) Android

#android #mysql #xml #xml-parsing

#Android #mysql #xml #xml-синтаксический анализ

Вопрос:

я хочу знать, как импортировать XML-данные в sqlite? В приложении m я хочу вставить данные mysql моего веб-сервера в мобильный sqlite Android … есть ли другой способ без синтаксического анализа xml?

Пожалуйста, помогите мне или дайте мне ссылку на импорт данных в sqlite из xml (удаленный).. буду признателен за вашу помощь …:)

Ответ №1:

hay проверьте этот код, он поможет вам

пакет com.pxr.tutorial.xmltest;

импортируйте java.util.Список массивов;
импортируйте java.util.HashMap;

импортируйте org.w3c.dom.Документ;
импортируйте org.w3c.dom.Element;
импортируйте org.w3c.dom.NodeList;

импорт android.app.ListActivity;
импортируйте android.content.Значения содержимого;
импортируйте android.database.sqlite.База данных SQLiteDatabase;
импорт android.os.Bundle;
импорт android.util.Log;
импортируйте android.widget.ListAdapter;
импортируйте android.widget.SimpleAdapter;
импортируйте android.widget.TextView;
импортируйте android.widget.Тост;

общедоступный класс Main расширяет ListActivity {
 //частный статический ТЕГ конечной строки = "com.pxr.tutorial.xmltest.Main";
 частная база данных SQLiteDatabase;
 //статическая конечная строка ID="id";
 статическое конечное строковое ИМЯ="name";
 статическая итоговая строка SCORE ="оценка";
 Ошибка TextView;

// НИКОГДА БОЛЬШЕ НЕ ДЕЛАЙТЕ ТО ЖЕ САМОЕ!!!
// public void onCreate (база данных SQLiteDatabase) {
// db.ExecSQL("СОЗДАТЬ константы ТАБЛИЦЫ (АВТОИНКРЕМЕНТНОЕ СОЗДАНИЕ _id-ЦЕЛОГО ЧИСЛА ПЕРВИЧНОГО КЛЮЧА, текст имени, целое число баллов);");
// 
// ContentValues cv=новые значения содержимого();
// 
// //Тестовые данные
// cv.put(ИМЯ, "Ajay");
// cv.put(ОЦЕНКА "100");
// db.insert("константы", null, cv);
// 
// }

 /** Вызывается при первом создании действия. */
 @Переопределить 
 public void onCreate (пакет savedInstanceState) { 
 super.onCreate(savedInstanceState);
 setContentView(R.layout.listplaceholder);

 // ЭТО ОТКРЫТИЕ БАЗЫ ДАННЫХ, ЕСЛИ БАЗА ДАННЫХ НЕ СУЩЕСТВУЕТ, ОНА СОЗДАЕТ ЕЕ 
 база данных = (new DatabaseHelper(this).getWritableDatabase());

 // ЛУЧШЕ СОЗДАЙТЕ СВОЙ СОБСТВЕННЫЙ КЛАСС С ПОЛЯМИ И СРЕДСТВАМИ ДОСТУПА
 Список массивов> mylist = новый список массивов>();


 Строка xml = XMLfunctions.getXML();
 Документ doc = xmlфункции.XMLfromString(xml);

 int numResults = XMLfunctions.numResults(документ);

 if((numResults map = новая хэш-карта(); 

 Элемент e = (Элемент)nodes.item(i); 
 map.put("id", XMLfunctions.GetValue(e, "id"));
 map.put("name", XMLfunctions.GetValue(e, "имя"));
 map.put("Оценка", XMLfunctions.GetValue(e, "оценка"));

 mylist.add(карта); 
 }

 // ПОЧИТАЙТЕ КОЕ-ЧТО ОБ ИТЕРАТОРАХ И КОЛЛЕКЦИЯХ В JAVA 
 для (int j = 0; j родительский элемент, вид представления, позиция int, длинный идентификатор) { 
 @SuppressWarnings("непроверено")
 HashMap o = (HashMap) lv.getItemAtPosition (позиция); 
 Был нажат Toast.makeText (Main.this, "ID '"   o.get("id")   "'.", Toast.LENGTH_LONG).show(); 

 }
 });*/
 }

 private void processAdd(Строка string, Строка string2, Строка string3) {

 / Автоматически сгенерированная заглушка метода TODO
 Значения ContentValues = новые значения ContentValues(2);
// values.put("id", строка);
 значения.положить(DatabaseHelper.NAME, строка 2);
 values.put(DatabaseHelper.ОЦЕНКА, string3);
 если (база данных!=null){
 //ВСТАВИТЬ, ЕСЛИ БАЗА ДАННЫХ ОТКРЫТА 
 database.insert(DatabaseHelper.ИМЯ_ТАБЛИЦЫ, null, значения);
 // Log.i(ТЕГ "СОХРАНЕНО В БАЗЕ ДАННЫХ");
 }else{
 // ЕСЛИ БАЗА ДАННЫХ ЗАКРЫТА, ОТКРОЙТЕ СНАЧАЛА, ЧЕМ ВСТАВИТЬ 
 база данных = (new DatabaseHelper(this).getWritableDatabase());
 //Log.e(ТЕГ, "БАЗА ДАННЫХ ЗАКРЫТА, ОТКРЫТИЕ ...");
 database.insert(DatabaseHelper.ИМЯ_ТАБЛИЦЫ, null, значения);
 //Log.i(ТЕГ, "ВСТАВЛЕННЫЙ В БАЗУ ДАННЫХ");

 }


 }

 @Переопределить 
 защищенная пустота onDestroy() {
 // ВСЕГДА ЗАКРЫВАЙТЕ БАЗУ ДАННЫХ, ЕСЛИ ВЫ ЗАВЕРШАЕТЕ РАБОТУ приложения
 если (база данных!=null){
 database.close();
 }
 super.onDestroy();
 }




}