我知道这是可能的,但我不太确定从哪里开始。有人能实现这个吗?
谢谢。
谢谢。
DataXmlExporter
类将会把一个SQL Lite数据库导出为XML文件。
http://www.screaming-penguin.com/node/7749
完整的示例代码可在此 SVN 存储库中找到。ManageData
类调用导出功能。
http://totsp.com/svn/repo/AndroidExamples/trunk/
你需要创建一个应用程序类,它公开了数据库,并在AndroidManifest.xml文件中被引用为应用程序名称。然后将该数据库用作DataXmlExporter
构造函数的参数。DatabaseHelper
),它扩展了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;
}
}
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
}
如果您需要创建的文件可能超出内部容量,那么测试外部存储器是非常有用的。
http://www.phonesdevelopers.com/1788273/
使用以下方式将其导出到SD卡:
File sd = Environment.getExternalStorageDirectory();
String path = sd + "/" + DB_NAME + ".xml";
DatabaseDump databaseDump = new DatabaseDump(mySQLiteOpenHelperObject.getReadableDatabase(), path);
databaseDump.exportData();
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>