2011-12-30 138 views
0

我有一個具有數據庫 現在我想釋放一個應用 新版本的應用程序,但我的數據庫的新領域增加 ,我想保留在數據庫中我的舊數據,並添加新的數據庫附加字段Android的數據庫升級問題

請問我的數據庫將overided(我會losse我的數據副本)或新的數據庫將被添加

回答

0

重點onUpgrade方法:-)

public class WIMProvider extends ContentProvider { 

    private static final int DATABASE_VERSION = 2; 

    private DatabaseHelper mOpenHelper; 

    // ..... code ..... 

    private static class DatabaseHelper extends SQLiteOpenHelper { 

     private Context mContext; 

     public DatabaseHelper(Context context) { 
      super(context, DATABASE_NAME, null, DATABASE_VERSION); 
      mContext = context; 
     } 

     @Override 
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

      if (oldVersion == 1) { 
       db.execSQL("ALTER TABLE TCategory ADD COLUMN fiDefault integer DEFAULT 0"); 
       oldVersion++; 
      } 
      if (oldVersion == 2) { 
       db.execSQL("ALTER TABLE TCategory ADD COLUMN fsIcon nvarchar(50)"); 
       oldVersion++; 
      } 
     } 
}