回答
本文中介绍的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. 导出SQLite数据库到csv文件在android中
- 2. Android:如何将xml格式的数据库文件导入sqlite数据库?
- 3. 导出Android SQLite数据库
- 4. 如何导出sqlite数据库为android中的csv文件?
- 5. 导出数据库文件为文本或xml在android中
- 6. 如何将分析的xml文件存储到Android中的sqlite数据库?
- 7. 将CSV文件导入到Android应用程序Sqlite数据库
- 8. 将MySql数据库导出到文件
- 9. 将XML文件中的数据导入MySQL数据库
- 10. 将XML导入到phpmyadmin数据库中
- 11. 将日期插入到android中的SQLite数据库时出错
- 12. Sqlite数据到Android中的CSV文件
- 13. 导入/导出到Android的SQLite数据库
- 14. 将数据导出到python文件中
- 15. 您可以将SQL Server 2012数据导出到XML文件中
- 16. 如何将数据库导出到Stardog中的OWL文件?
- 17. 将HTML表单中的数据导出到XML文档中
- 18. 从手机中导出SQLite数据库
- 19. 将sqlite数据库导出为csv - Sqlite.swift
- 20. 将sqlite数据库文件导出到XML然后导入到Excel电子表格
- 21. Android将数据库导出到SD卡 - 空文件
- 22. 将SQLite数据库保存到文件?
- 23. 将Allready创建的数据库文件插入到Android中的SQLite中
- 24. 如何将XML文件从http解析到Android中的SQLite中
- 25. SQLite数据库中的Android
- 26. 将xlsx文件导出到SQL Server数据库中
- 27. 将XML导出到SQL数据库(复杂的XML)
- 28. 将SQLite数据库中的值导出为CSV
- 29. 将SDcard中的文件链接存储到SQLite数据库
- 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