【问题标题】:Android application upgrade without a database没有数据库的Android应用程序升级
【发布时间】:2012-07-19 12:18:45
【问题描述】:
我有一个不使用数据库的应用程序,但它有一些共享偏好。
在应用程序更新期间,我需要对现有首选项进行一些更改并添加一些新首选项。
通过谷歌搜索发现,我们可以通过 onUpgrade() 方法处理应用程序升级迁移。但是该方法需要的数据库名称在我的应用程序中不存在。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
新版本)
请建议我在应用程序更新期间升级现有共享首选项的解决方案。
【问题讨论】:
标签:
android
data-migration
auto-update
【解决方案1】:
我认为你错了。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
这是SQLiteOpenHelper 类的函数。当您升级数据库/增加数据库的版本号时调用它。
【解决方案2】:
从现在开始,在您的共享首选项中存储一个版本号,您可以使用它来准确确定现有共享首选项使用的架构,并从那里做任何需要的事情。
对于目前的情况,缺少“模式版本”偏好是你需要做任何你需要做的事情的指标。
(onUpgrade() 在这种情况下帮不了你。)
【解决方案3】:
我认为你可以这样做
SharedPreferences mySharedPreferences=getSharedPreferences("name",mode);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString(fileName, fileName);
editor.commit();