xutils 3データベースアップグレード(markdown版)

1720 ワード

前言:xutilsは本当に良いandroid開発フレームワークで、使用中にプログラマーの多くのコード量を減らしました.しかし、中には注意すべき点もある.その他の使用方法はxutils 3の詳細な使い方を参照してください

1.注記の注意事項


黄牛刀の注釈のように、xutilsの注釈は実行時(ps:私にもわかりません)、xutilsの注釈でイベントをクリックすると、頻繁に2つのbuttonをクリックする切り替えをすると、1つのbuttonのクリックに応答するだけで、findviewbyidでonclicklitsenerを設定すると、このバグはありません.
だから私たちはクリック機能を使う時、適切に注釈を使って、現在は頻繁にクリックするだけで問題が発生することを発見して、必ずしも他の場所に何かが埋まっているとは限らない.

2.データベースのアップグレード


デルのビジネスが日々改善されている場合、以前に確立されたデータベースフィールドを変更する必要がある場合があります.データベースのコードを次のように構成します.
    DbManager.DaoConfig daoConfig =newDbManager.DaoConfig()

    .setDbName("myapp.db")// 

    xutils.db.setDbDir(newFile("/mnt/sdcard/"))// , app 

    .setDbVersion(2)// 

    .setDbOpenListener(newDbManager.DbOpenListener() {// 

        @Override
        public void onDbOpened(DbManager db) {// , , 
        db.getDatabase().enableWriteAheadLogging();
}
})
    .setDbUpgradeListener(newDbManager.DbUpgradeListener() {// 

        @Override
        public void onUpgrade(DbManager db,intoldVersion,intnewVersion) {

}

})  .setTableCreateListener(newDbManager.TableCreateListener() {// 
        @Override
        public void onTableCreated(DbManager db, TableEntity table){
        Log.i("JAVA","onTableCreated:"+ table.getName());
}
});

私たちはsetDbVersion(x)に任意の数字を記入することができます.もちろん、私たちの実際の状況によっては
フィールドを変更する必要がある場合は、x+nの数字を記入し、
.setDbUpgradeListener(newDbManager.DbUpgradeListener() {// 

@Override 
public void onUpgrade(DbManager db,intoldVersion,intnewVersion) {

  // 

  db.delete(x.class);

  // 

  db.addColumn(x.class,"test");// 

  db.saveOrUpdate(db.findall());// isId , 

}

})

ありがとうandroidオープンソース