2011-12-30 3 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++; 
      } 
     } 
} 
관련 문제