1。问题是:当一个手机程序第一次在某部手机上运行时,程序会将apk带的那个数据库拷贝到data文件夹下
,如果我的程序自动更新,就是覆盖安装时,上个版本的程序遗留在sd卡上的那个数据库还在,新版本的程序由于数据库名称一样,包名一样,会自动读取旧的数据库,假设新版本的数据库有改动的话,岂不要出乱子我该怎样实现这种带数据的apk的自动更新啊
,如果我的程序自动更新,就是覆盖安装时,上个版本的程序遗留在sd卡上的那个数据库还在,新版本的程序由于数据库名称一样,包名一样,会自动读取旧的数据库,假设新版本的数据库有改动的话,岂不要出乱子我该怎样实现这种带数据的apk的自动更新啊
android开发中,数据库默认状态是存在手机内置存储卡里,而不是SD卡。
大哥,你的理论能再说的详细点吗,我很感兴趣
android中数据库默认是存放在手机内存中,默认在/data/data目录下面。
到位!我的Helper类的OnUpgrade方法一直空着,怪不得我的数据库老是和apk里的不同步
private static String DB_NAME = "sharkV5.db";//路径不变我把我的DBHelper修改了下 public DataBaseHelper(Context context) { super(context, DB_NAME, null, dbVersion);
this.myContext = context;
}//dbVersion是我给传的版本号,数据库每改动一次我就修改一下这个值 @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String DbPath = DB_PATH + DB_NAME;
File file = new File(DbPath);
if(file.exists())
file.delete();
}//对应的onUpgrade我也加入了内容