Android:执行方法并等待结果(对于ChangeLog)

时间:2015-12-10 08:18:02

标签: java android sqlite methods changelog

我创建了一个应用程序,其中我使用SQLiteDatabase自定义类,显然是为了管理SQLite数据库。

我创建了一个" ChangeLog"用于检查我的架构的类修改。 例如:

  • 版本1.0.0:" table01"有3列" NOT NULL"约束
  • 版本1.0.1:" table01"有3列,没有" NOT NULL"约束

如果用户安装了我的应用程序的最新版本,我会从我的ChangeLog类调用applyModifies()方法,以便应用多个修改和 ALTER " table01",例如。 (要做到这一点,我重命名旧表,我创建新表,我将所有记录复制到新表,我删除旧表,最后,我用原始名称重命名新表。

我需要在 applyModifies() update0001() update0002()等内部调用几个方法。 如果第一种方法失败,则下一种方法不必开始。

//[... ChangeLog Class - Methods ...]
public void applyModifies() {
       int version = checkVersion(); //Take version release of my app
       try {
            boolean b0001 = update0001();
            boolean b0002 = update0002();
            boolean b0003 = update0003();
       } catch (Exception e) {
            //
       }
 }
public boolean update0001() {
    //Verify actual table's schema and apply modifies, if needed
    //I use DB transaction to execute queries in block and wait for a result
    return result;
}

通常情况下,我可以这样做:

boolean b0001 = update0001();
if (b0001) {
    boolean b0002 = update0002();
} else {
    //Previous method fails
}

但它不是一个好的解决方案,因为我需要添加几个更改日志修改才能应用,而我还不知道如何实现它。

0 个答案:

没有答案