1

我有一个不使用数据库的应用程序,但它有一些共享首选项。在应用程序更新期间,我需要对现有首选项进行一些更改并添加一些新首选项。

通过谷歌搜索我发现,我们可以通过onUpgrade()方法处理应用程序升级迁移。但是该方法需要在我的应用程序中不存在的数据库名称。

公共无效 onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)

请建议我在应用程序更新期间升级现有共享首选项的解决方案。

4

3 回答 3

3

从现在开始,在您的共享首选项中存储一个版本号,您可以使用它来准确确定现有共享首选项使用的架构,并从那里做任何需要的事情。

对于当前情况,缺少“模式版本”偏好是您需要做任何您需要做的事情的指标。

onUpgrade()在这种情况下不会帮助你。)

于 2012-07-20T08:38:35.720 回答
0

我想你可以这样做

SharedPreferences mySharedPreferences=getSharedPreferences("name",mode);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString(fileName, fileName);
editor.commit();
于 2012-07-20T08:38:43.577 回答
0

我认为你错了。

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

这是SQLiteOpenHelper类的一个函数。当您升级数据库/增加数据库的版本号时调用它。

于 2012-07-20T08:37:01.657 回答