2011-12-30 115 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++; 
      } 
     } 
}