1.在sd创建数据库
项目需求,需要在sd卡上创建数据库,看了半天的SQLiteOpenHelper代码,主要的方法就是getWritableDatabase()和getReadableDatabase(),
都是一系列的判断,然后返回SQLiteDatabase mDatabase,但是为什么就会在/data/data/com.xxxx./xxx.db呢?
认真看了代码之后,就会发现在getReadableDatabase()方法下:
String path = mContext.getDatabasePath(mName).getPath();//这里由上下文得到的路径就是在data/data/xxxxx目录
db = SQLiteDatabase.openDatabase(path, mFactory, SQLiteDatabase.OPEN_READONLY);
在getWritableDatabase()方法下有这样代码
if (mName == null) {
db = SQLiteDatabase.create(null);
} else {
db = mContext.openOrCreateDatabase(mName, 0, mFactory);//通过上下文创建数据库也是在data/data/下的
}
那么要在sd卡上创建数据文件,那么改变他们的路径就应该可