Exemplo n.º 1
0
 /**
  * 检测映射表是否建立,没有则建一张新表。
  *
  * @param db
  * @param tableName
  * @param column1
  * @param column2
  * @return
  */
 public void checkOrCreateMappingTable(
     SQLiteDatabase db, String tableName, String column1, String column2) {
   // 关键点1:初始化全部数据库表
   initAllTablesFromSQLite(db);
   EntityTable table = TableUtil.getMappingTable(tableName, column1, column2);
   synchronized (table) {
     // 关键点2:判断表是否存在,是否需要新加列。
     if (!checkExistAndColumns(db, table)) {
       // 关键点3:新建表并加入表队列
       if (createTable(db, table)) {
         putSqlTableIntoList(table);
       }
     }
   }
 }