【问题标题】:Manage DB before uploading to playstore in android在 android 中上传到 playstore 之前管理数据库
【发布时间】:2015-10-07 13:34:23
【问题描述】:

几周前我已经上传了一个应用程序来玩商店。此应用程序涉及 sqlite 数据库,该数据库存储有关用户名、密码和其他详细信息的信息,这些信息由用户在本地使用应用程序时提供。

现在我在数据库中添加了更多表和字段,并且想将应用程序上传到 Playstore 作为更新?

我担心如果用户从 playstore 更新应用程序 - 更新后 - 存储在数据库中的所有数据都将被保存,还是用户必须从头开始重新创建所有内容?

告诉我!

谢谢!

【问题讨论】:

    标签: android database sqlite


    【解决方案1】:

    你必须重写 SQLiteOpenHelper 的 onUpgade 方法。在 OnUpgrade 方法中,您可以删除数据(删除 sqlite 命令)或使用附加列维护数据(alter sqlite 命令)或创建新表(create sqlite 命令)。

    参考下面的sn-p。

    我假设你的版本是 1。(请检查你的 SqliteOpenHelper 类的构造函数)

    将版本增加 1。

    class DatabaseHelper extends SqliteOplenHelper{
    
            private static final int DATABASE_VERSION = 2;   //new version of the database
            private static final int Database_name = "MyDatabase";
            private static final String alterUserName = "alter table users add name text";
            private static final String table_users = "create table if not exists "
                + users + "(" + "_id integer primary key autoincrement,"
                + "email text" + ")";
    
            public DatabaseHelper(Context context) {
            super(context, Database_name, null, DATABASE_VERSION);
            cntxt = context;
        }
    
            @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
            db.execSQL(table_users);
            db.execSQL(alterUserName);
    
        }
    }
    

    现在,每当您通过数据库更改滚动下一次更新时,请务必将数据库版本增加 1,否则保持不变。

    【讨论】:

    • 当我升级应用程序时它给了我力量。我做了干净的安装,一切都很好。看起来我必须像你所说的那样做,提到 Aditya。让我试试然后回来!
    • 我在设置时强制关闭:db.execSQL(Table_Users);说:(1)在“Table_Users”附近:(代码1):,同时编译:UsersTable
    • @TheDevMan 如果对您有帮助,请接受答案。
    【解决方案2】:

    这不会自动为您完成。在您的 SQLiteOpenHelper 中,您需要增加 Schema 整数。这将为您的现有用户触发 on upgrade 方法。

    添加表不是问题,只需在 onUpgrade 中执行此操作,没有任何问题。

    但是要添加字段,您应该使用“ALTER TABLE”SQL 命令

    如果您添加新列,您可以使用 ALTER TABLE 将它们插入到活动表中。如果重命名或删除列,可以使用 ALTER TABLE 重命名旧表,然后创建新表,然后用旧选项卡的内容填充新表

    见官方参考here

    【讨论】:

      猜你喜欢
      • 2021-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      相关资源
      最近更新 更多