android 数据库创建在SD(TF)卡中
16lz
2021-01-26
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);}// ... 其它的省略,减少版面占用}
非常简单。
完毕
更多相关文章
- 增加改查――android数据库篇二
- 我的android 第13天 -SQLiteOpenHelper对数据库进行版本管理
- 完美解决 Android(安卓)studio 检测不到 genymotion模拟器设备!!
- android Studio keytool' 不是内部或外部命令,也不是可运行的程序
- Android(安卓)7.0,6.0系统相机调用问题解决
- Tensorflow lite 编译Android(安卓)JNI C++ 动态链接库(步骤详细
- Android连接远程数据库
- Android(安卓)APP连接电脑数据库(以SQL Server为例)
- android SQLite数据库1