回答
本文中介紹的DataXmlExporter
類將將SQL Lite DB導出到XML文件。
http://www.screaming-penguin.com/node/7749
完整的例子在這個SVN回購是可用的。 ManageData
類調用導出。
http://totsp.com/svn/repo/AndroidExamples/trunk/
你需要創建一個公開的數據庫,併爲在AndroidManifest.xml文件的應用程序名稱引用的應用程序類。然後使用該數據庫作爲DataXmlExporter
構造函數的參數。
這是我使用的應用程序類。你應該已經有一個擴展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;
}
}
看一看源代碼在這裏exporting-a-sqlite-database-to-an-xml-file-in-android
我不得不做出的唯一改變一個類(可能未命名DatabaseHelper
)(停止一些Eclipse的警告)是在exportData()方法中關閉遊標。爲了使代碼更具可移植性,我還將XML文件和位置作爲參數傳遞,而不是作爲聲明的最終字段。
代碼將XML文件寫入SD卡。現在,在他的博客中列出源代碼的@mmaitlen沒有添加任何功能來測試是否存在外部存儲單元。所以這是留給你去做的。
但是,您可以嵌入一些簡單的代碼來測試與下面的代碼片段(未經測試)的可寫內存卡的存在:
如果你有大量的文件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
}
測試爲外部存儲是非常有用的創造可能超過內部能力。
這就是我想要的...優秀的鏈接..謝謝你的朋友 – Thiru 2012-10-10 04:56:04
我發現這非常有幫助:
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"/>
- 1. 將數據庫中的數據導出到XML文件
- 2. 導出SQLite數據庫到csv文件在android中
- 3. Android:如何將xml格式的數據庫文件導入sqlite數據庫?
- 4. Android導出SQLite數據庫
- 5. 導出Android SQLite數據庫
- 6. 如何將.sqlite導入到android上的sqlite中的數據庫
- 7. 如何導出sqlite數據庫爲android中的csv文件?
- 8. 如何導入從XML文件中的數據SQLite數據庫
- 9. 在Android Activity中導入.SQLite文件(Android SQLite數據庫)
- 10. 導出數據庫文件爲文本或xml在android中
- 11. 如何將分析的xml文件存儲到Android中的sqlite數據庫?
- 12. 將CSV文件導入到Android應用程序Sqlite數據庫
- 13. 在sqlite的數據庫導出/導入團塊圖像到XML文件
- 14. 將.csv文件中的數據導入到IOS中的sqlite數據庫。 FMDB
- 15. 如何將sqlite數據庫導出到Android設備上的csv文件?
- 16. 如何在Android中將Mysql數據庫導入到SQlite中?
- 17. 將MySql數據庫導出到文件
- 18. 將SQLite數據庫導出到PHP的Excel中
- 19. 導入.sql文件到SQLite數據庫
- 20. 如何將表中的數據導出到xml文件?
- 21. 將XML文件中的數據導入MySQL數據庫
- 22. 將XML導入到phpmyadmin數據庫中
- 23. 想要將數據從XML導入到SQLite數據庫
- 24. (Ruby)如何將XML文件中的數據導入到SQLite表中
- 25. Oracle:將Oracle數據庫導出爲.sql文件並在Android中導入與SQLite相同的.sql文件db
- 26. 將日期插入到android中的SQLite數據庫時出錯
- 27. 將數據導出到python文件中
- 28. 將數據導出到python文件中
- 29. Sqlite數據到Android中的CSV文件
- 30. 導入/導出到Android的SQLite數據庫
怎麼會打電話給這個班? – jcrowson 2010-04-06 18:26:00
感謝您爲Wayne添加的細節。我還有另一個問題,如果我想在用戶按下按鈕時導出數據庫,例如「發送數據庫」,我是否會映射按鈕以啓動MyApplication類或XMLExport類的意圖? – jcrowson 2010-04-06 22:23:17
上面鏈接的android例子完全符合你的要求。您應該能夠將該代碼添加到您的應用程序中,稍微更改文件名,將該意圖添加到清單並且可以繼續。它有一個備份數據庫按鈕和一個導出到XML按鈕的活動。 – 2010-04-07 00:40:11