SQLiteOpenHelper의 onUpgade 메서드를 재정의해야합니다. OnUpgrade 메서드에서 데이터 삭제 (sqlite 명령 삭제) 또는 추가 열로 데이터 유지 관리 (sqlite 명령 변경) 또는 새 테이블 만들기 (sqlite 명령 작성) 중 하나를 수행 할 수 있습니다.
다음 스 니펫을 참조하십시오.
나는 (PLZ 당신의 SqliteOpenHelper 클래스의 생성자를 확인) 버전 1. 것이다 가정
증가 이제 1
class DatabaseHelper extends SqliteOplenHelper{
private static final int DATABASE_VERSION = 2; //new version of the database
private static final int Database_name = "MyDatabase";
private static final String alterUserName = "alter table users add name text";
private static final String table_users = "create table if not exists "
+ users + "(" + "_id integer primary key autoincrement,"
+ "email text" + ")";
public DatabaseHelper(Context context) {
super(context, Database_name, null, DATABASE_VERSION);
cntxt = context;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(table_users);
db.execSQL(alterUserName);
}
}
로 버전마다 당신은 데이터베이스 변경으로 다음 업데이트를 롤백 할 때 데이터베이스 버전을 1 씩 늘리십시오. 그렇지 않으면 그대로 유지하십시오.
응용 프로그램을 업그레이드하면 강제 종료됩니다. 나는 깨끗한 설치 작업을했다. 내가 말한대로 Aditya를 언급해야 할 것처럼 보입니다. 그것을 밖으로 시도하고 돌아 가자! – TheDevMan
내가 설정할 때 강제로 닫습니다 : db.execSQL (Table_Users); "Table_Users"근처에 (1) : (코드 1) : 컴파일 중 : UsersTable – TheDevMan
@TheDevMan 도움이 되었다면 대답을 수락하십시오. –