2014-04-30 22 views
0

一般来说,要求beta测试人员在每次更新时对应用程序进行全新安装,这是一个坏主意吗?我问的原因是我不喜欢编写代码来升级内部sqlite数据库并节省其他任务的时间。是否有一种方法需要使用新版本号进行全新安装(版本代码尚未增加)?Android应用程序Beta测试阶段,干净安装?

+0

如果你不配合数据库升级的话就你希望你的用户执行一个干净的安装? – CurlyPaul

+1

至于beta测试,不写代码升级确实会节省你的时间。我认为你可以跳过它直到最后的测试,在那里你需要确保它能正常工作。 – shkschneider

+1

恕我直言,如果你的代码不是功能完整的,这将包括处理数据库升级,它不是一个beta测试。此外,您的测试人员不会以现实的方式使用应用程序(因为他们不想浪费时间输入数据,他们会失去)或者会对您产生不满(因为他们*会浪费时间)。 – CommonsWare

回答

1

处理升级真的没什么大不了的。我创建做了字符串描述符的变化:

private static final String ALTER_TABLE1 = 
     "ALTER TABLE player ADD COLUMN enablesound INTEGER DEFAULT 1"; 

,当你的用户在你的数据库版本的变化,执行该辅助函数:

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     Log.w(TAG, "Upgrading database from version " + oldVersion + " to " 
      + newVersion + ". No data will be destroyed"); 
     if (oldVersion == 1) { 
      db.execSQL(ALTER_TABLE1); 
     } 
    }