是否可以将数据库文件保存到 SD 卡?

本教程将介绍是否可以将数据库文件保存到 SD 卡?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

是否可以将数据库文件保存到 SD 卡? 教程 第1张

问题描述

可能重复:
是否可以将数据库文件复制到 SD 卡?

我的 Android 手机上有一个数据库,我需要将信息存入 SD 卡.

是否可以将数据库文件以可读状态保存到 SD 卡上?我无法找到有关怎么执行此操作的任何信息.我知道数据库的名称和字段等...

我找到了一些展示怎么保存到 SD 卡的示例,但并不完全符合我的需要.

将数据库文件复制到 SD 卡的一些源代码将是完美的.

希望这个问题足够清楚.

推荐答案

是的.这是我使用的功能:

public void copyDBToSDCard() {
 try {
  InputStream myInput = new FileInputStream("/data/data/com.myproject/databases/"+DATABASE_NAME);

  File file = new File(Environment.getExternalStorageDirectory().getPath()+"/"+DATABASE_NAME);
  if (!file.exists()){
try {
 file.createNewFile();
} catch (IOException e) {
 Log.i("FO","File creation failed for " + file);
}
  }

  OutputStream myOutput = new FileOutputStream(Environment.getExternalStorageDirectory().getPath()+"/"+DATABASE_NAME);

  byte[] buffer = new byte[1024];
  int length;
  while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
  }

  //Close the streams
  myOutput.flush();
  myOutput.close();
  myInput.close();
  Log.i("FO","copied");

 } catch (Exception e) {
  Log.i("FO","exception="+e);
 }


}

对于我从事的项目,我在主屏幕中放置了一个菜单选项,我可以随时从中调用此功能.然后,我会将数据库移动到我的桌面并使用 FireFox 的 SQLite Manager 插件打开它.

好了关于是否可以将数据库文件保存到 SD 卡?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。