2015-10-22 4 views
0

У меня есть приложение с базой данных, и в моей новой версии приложения необходимо изменить схему базы данных.Изменение версии базы данных Android sqlite

В каком порядке следует добавить старую и новую версию кода? Как новая версия будет сравнивать базу данных со старой версией и вносить изменения.

Пожалуйста, помогите мне с этим.

+0

Пожалуйста, пост код. – Chordin4tion

ответ

0
Override onUpgrade method in SQLiteOpemHelper class. 

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
     Log.d("TAG", "ugrade called"); 
     if (newVersion > oldVersion) { 
      db.execSQL("DROP TABLE IF EXISTS " + SchoolCode.CODE_LIST_TABLE); 
      // db.execSQL("DROP TABLE IF EXISTS " + ParentTable.PARENT_TABLE); 
      db.execSQL("DROP TABLE IF EXISTS " 
        + PreferenceTable.PREFERENCE_LIST_TABLE); 
      db.execSQL("DROP TABLE IF EXISTS " + ParentTable.PARENT_TABLE); 
      onCreate(db); 
     } 

    } 
0
//first DATABASE_VERSION add 1,bigger than your old version 
private static final int DATABASE_VERSION = 2; 
public ExpenseDBHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onUpgrade(SQLiteDatabase paramSQLiteDatabase, int oldVersion, 
     int newVersion) { 
    // TODO Auto-generated method stub 

    if (oldVersion == 1) { 
     // old version database ,you can upgrade data here 
    } 

    if (newVersion == 2) { 
     // new version database ,you can add data or table here 
    } 


} 
Смежные вопросы