Exportación de una base de datos SQLite a un archivo XML en Android

Sé que esto es posible pero no estoy realmente seguro por dónde empezar. ¿Alguien ha sido capaz de lograr esto?

Gracias.

3 Solutions collect form web for “Exportación de una base de datos SQLite a un archivo XML en Android”

La clase DataXmlExporter descrita en este artículo exportará un DB de SQL lite a un archivo XML.

http://www.screaming-penguin.com/node/7749

El ejemplo completo está disponible en este reporte SVN. La clase ManageData invoca la exportación.

http://totsp.com/svn/repo/AndroidExamples/trunk/

Necesitará crear una clase de aplicación que exponga la base de datos y se haga referencia como el nombre de la aplicación en el archivo AndroidManifest.xml. A continuación, utilice ese DB como el argumento para el constructor DataXmlExporter .

Esta es la clase de aplicación que utilizo. Ya deberías tener una clase (probablemente no denominada DatabaseHelper ) que extiende SQLiteOpenHelper

 package com.billybobbain.android.someapp; import android.app.Application; import android.util.Log; public class MyApplication extends Application { public static final String APP_NAME = "SomeApp"; private DatabaseHelper dataHelper; @Override public void onCreate() { super.onCreate(); Log.d(APP_NAME, "APPLICATION onCreate"); this.dataHelper = new DatabaseHelper(this); } @Override public void onTerminate() { Log.d(APP_NAME, "APPLICATION onTerminate"); super.onTerminate(); } public DatabaseHelper getDataHelper() { return this.dataHelper; } public void setDataHelper(DatabaseHelper dataHelper) { this.dataHelper = dataHelper; } } 

Echa un vistazo al código fuente aquí exportando-a-sqlite-base de datos-a-un-xml-file-in-android

El único cambio que tuve que hacer (para detener algunas advertencias de Eclipse) era cerrar un cursor en el método exportData (). Para que el código sea más portátil, también pasé el archivo XML y la ubicación como un argumento y no como un campo final declarado.

El código escribe el archivo XML en la tarjeta SD. Ahora, @mmaitlen que enumeró el código fuente en su blog no agrega ninguna característica para probar la existencia de una unidad de almacenamiento externa. Así que eso te queda por hacer.

Sin embargo, puede incrustar un código simple para probar la existencia de una tarjeta de memoria grabable con el siguiente fragmento (no probado):

  sdOkToWrite = false; String sdTest = Environment.getExternalStorageState(); if (sdTest.equals(Environment.MEDIA_MOUNTED)) { sdOkToWrite = true; } else { // Here's where you can code what to do without the external storage } 

La prueba para el almacenamiento externo es útil si tiene archivos grandes para crear que pueden exceder la capacidad interna.

Me pareció muy útil:

http://www.phonesdevelopers.com/1788273/

Usándolo de la siguiente manera para exportarlo a la tarjeta sd:

 File sd = Environment.getExternalStorageDirectory(); String path = sd + "/" + DB_NAME + ".xml"; DatabaseDump databaseDump = new DatabaseDump(mySQLiteOpenHelperObject.getReadableDatabase(), path); databaseDump.exportData(); 

Por supuesto, no olvide:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
  • SwipeRefreshLayout puede alojar sólo un hijo directo
  • ¿Buenas herramientas para desarrollar una GUI en Android?
  • No existe una etiqueta de meta-datos necesaria en AndroidManifest.xml de la aplicación.
  • Adición de botones de radio personalizados en android
  • SchemaFactory no admite W3C XML Schema en plataforma de nivel 8?
  • Android: El editor XML predeterminado ya no se abre
  • Android gradle src / androidTest / res / diseño / mylayout.xml no se encuentra en mypackage.R
  • Biblioteca Java usando selectores css para analizar XML
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.