使用一个button导出sqlite数据库到Excel可读文件(也许csv)?

我改编了这个教程(http://www.screaming-penguin.com/node/7749)到我已经build立的一个Android应用程序,允许按下button将当前数据库导出到用户的SD卡。 它完美地工作。

但恐怕我的应用程序的用户将不熟悉数据库文件,我正在寻找一种方法将其转换为更加用户友好的格式。 我遇到了这个线程(http://groups.google.com/group/android-beginners/browse_thread/thread/4e53ebca14daecfc),它build议“查询数据库中的数据并将数据写入csv文件”。

我希望有人能指出我正确的方向开始搞清楚如何做到这一点。 我发现很难追踪更多关于具体方法的信息。

或者只是在一个简短的“关于”如何读取和访问.db文件解释更有意义?

谢谢

编辑:我也有一个关于sqlite导出过程的问题,我想我只是问这里而不是创build一个新的问题。 有没有一种方法来修改下面的代码,以便每个导出可以接收date的string表示或附加到一个单一的数字? 现在,如果您再次导出,它会自动覆盖旧文件。 谢谢。

protected Boolean doInBackground(final String... args) { File dbFile = new File(Environment.getDataDirectory() + "/data/com.example.example/databases/data"); File exportDir = new File(Environment.getExternalStorageDirectory(), "exampledata"); if (exportDir.exists()) { exportDir.mkdirs(); } File file = new File(exportDir, dbFile.getName()); try { file.createNewFile(); this.copyFile(dbFile, file); return true; } catch(IOException e) { Log.e(MyApplication.APP_NAME, e.getMessage(), e); return false; } } 

我希望有人能指出我正确的方向开始搞清楚如何做到这一点。

要读取数据,请使用rawQuery()

要写入数据,请使用Java I / O。 还有一些适用于Java的开源 CSV库可用于Android。

有没有一种方法来修改下面的代码,以便每个导出都可以接收date的string表示forms或只附加一个数字?

使用string连接来添加任何你想要的文件名。

另外,请摆脱:

 File dbFile = new File(Environment.getDataDirectory() + "/data/com.example.example/databases/data"); 

并将其replace为:

 File dbFile=getDatabasePath("data");