【问题标题】: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();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-23
          • 2016-02-12
          • 1970-01-01
          • 2020-11-30
          相关资源
          最近更新 更多