android 应用建数据库时,默认建立在 系统内 /data/data/'应用包名'/

有时我们需要建在SD卡当中。

在SD卡的优点:

1 当系统恢复出厂设置等操作后,重新安装应用。数据不会丢失。

2 方便备份、恢复。只要复制到PC上,或从PC复制到Android设备的SD卡中即可。

等等。


怎样才能方便的将数据库移动至SD卡?

1 初始化,SD卡路径。定义数据库所在路径。


package cn.hpc.dbdemo;import java.io.File;import android.os.Environment;/**数据库根目录 /sdcard/hpcDbData/应用的数据建立在 /sdcard/hpcDbData/'包名'/*/public class SDBHelper {public static final String DB_DIR = Environment.getExternalStorageDirectory().getPath()+ File.separator + "hpcDbData" + File.separator+ SDBHelper.class.getPackage().getName();static {while(! Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();break;}}File dbFolder = new File(DB_DIR);// 目录不存在则自动创建目录if (!dbFolder.exists()){dbFolder.mkdirs();}}}


2 SQLiteOpenHelper 中的使用方法。

mDbName 数据库名,带全路径


package cn.hpc.dbdemo;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class DemoDbh extends SQLiteOpenHelper {public static final int VERSION = 1;public static final String mDbName =  SDBHelper.DB_DIR + File.separator + "demo.db";public DemoDbh(Context context) {super(context, mDbName, null, VERSION);}// ... 其它的省略,减少版面占用}


非常简单。


完毕




更多相关文章

  1. 增加改查――android数据库篇二
  2. 我的android 第13天 -SQLiteOpenHelper对数据库进行版本管理
  3. 完美解决 Android(安卓)studio 检测不到 genymotion模拟器设备!!
  4. android Studio keytool' 不是内部或外部命令,也不是可运行的程序
  5. Android(安卓)7.0,6.0系统相机调用问题解决
  6. Tensorflow lite 编译Android(安卓)JNI C++ 动态链接库(步骤详细
  7. Android连接远程数据库
  8. Android(安卓)APP连接电脑数据库(以SQL Server为例)
  9. android SQLite数据库1

随机推荐

  1. MySQL 4种导入数据的方法
  2. MySQL对数据库操作(创建、选择、删除)
  3. 三种常用的MySQL 数据类型
  4. MySQL8.0窗口函数入门实践及总结
  5. MySQL按指定字符合并以及拆分实例教程
  6. CentOS Mysql数据库如何实现定时备份
  7. mysql数据库是做什么的
  8. 删除mysql数据表如何操作
  9. mysql如何设置不区分大小写
  10. 验证mysql是否安装成功的方法