我有一个不使用数据库的应用程序,但它有一些共享首选项。在应用程序更新期间,我需要对现有首选项进行一些更改并添加一些新首选项。
通过谷歌搜索我发现,我们可以通过onUpgrade()方法处理应用程序升级迁移。但是该方法需要在我的应用程序中不存在的数据库名称。
公共无效 onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
请建议我在应用程序更新期间升级现有共享首选项的解决方案。
我有一个不使用数据库的应用程序,但它有一些共享首选项。在应用程序更新期间,我需要对现有首选项进行一些更改并添加一些新首选项。
通过谷歌搜索我发现,我们可以通过onUpgrade()方法处理应用程序升级迁移。但是该方法需要在我的应用程序中不存在的数据库名称。
公共无效 onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
请建议我在应用程序更新期间升级现有共享首选项的解决方案。
从现在开始,在您的共享首选项中存储一个版本号,您可以使用它来准确确定现有共享首选项使用的架构,并从那里做任何需要的事情。
对于当前情况,缺少“模式版本”偏好是您需要做任何您需要做的事情的指标。
(onUpgrade()
在这种情况下不会帮助你。)
我想你可以这样做
SharedPreferences mySharedPreferences=getSharedPreferences("name",mode);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString(fileName, fileName);
editor.commit();
我认为你错了。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
这是SQLiteOpenHelper类的一个函数。当您升级数据库/增加数据库的版本号时调用它。