1,android默认的sqlite数据库是放在/data/data/appPackagename/database目录下的。
2,要修改db路径,只要在创建数据库的时候,更改db的路径的就可以了。
具体代码如下:
TestDataBaseOperation.java
public class TestDataBaseOperation {
//数据库名称
private static final String DB_NAME = "test.db";
private static String DB_PATH = "";
private final Context mContext;
private static TestDataBaseOperation instance;
private TestDataBaseOperation(Context context){
this.mContext = context;
DB_PATH = DbHelper.getFilePath(context) + File.separator + DB_NAME;
DbHelper.getInstance(mContext, DB_PATH);
}
/**
* @param context 传入上下文
*/
public synchronized static TestDataBaseOperation getInstance(Context context){
if (instance == null && context != null){
instance = new TestDataBaseOperation(context);
}
return instance;
}
}
DbHelper.java
public class DbHelper extends SQLiteOpenHelper {
private final String TAG = "DbHelper ";
/**
* 数据库的版本号,以后要升级数据库,修改版本号为 +1 即可
*/
public static final int DATABASE_VERSION = 1;
private static DbHelper instance;
/**
* @param context 传入上下文
* @return 返回DbHelper对象
*/
public synchronized static DbHelper getInstance(Context context, String DATABASE_NAME){
if (instance == null){
instance = new DbHelper(context, DATABASE_NAME, null, DATABASE_VERSION);
}
return instance;
}
// 构造方法不对外暴露
public DbHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public static String getFilePath(Context context) {
String filePath;
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {// 优先保存到SD卡中
filePath = Environment.getExternalStorageDirectory()
.getAbsolutePath() + File.separator + "MyDbData";
} else {// 如果SD卡不存在,就保存到本应用的目录下
filePath = context.getFilesDir().getAbsolutePath()
+ File.separator + "MyDbData";
}
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
return filePath;
}
/**
* 数据库创建
*/
@Override
public void onCreate(SQLiteDatabase db) {
Log.i(TAG, "onCreate");
}
/**
* 数据库升级
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.i(TAG, "onUpgrade");
}
}
如此:DATABASE_NAME的默认路径就修改完成了。可以在文件管理中查看。