2013-10-07 3 views
0

내 앱용 SD 카드에 내 SQlite 테이블이 있습니다. 이제 데이터베이스를 업그레이드해야합니다. 하지만, onUpgrade 이후에는 SQLiteOpenHelper의 onCreate가 호출되지 않습니다. 그것은 새로운 버전으로 업그레이드되지 않는 이유 나는 점점 아니에요Android : SD 카드에서 sqlite 데이터베이스를 업그레이드 할 수 없습니다.

public class DatabaseHandler extends SQLiteOpenHelper { 

private static final String DATABASE_NAME = Environment 
     .getExternalStorageDirectory().getAbsolutePath() 
     + "/" 
     + Environment.DIRECTORY_DOWNLOADS + "/MyApp.sqlite"; 

public void onCreate(SQLiteDatabase db) { 
    Log.e(TAG, "DB onCreate"); 
    // String CREATE_SCHEMA = 
    db.execSQL("CREATE TABLE Master (" 
      + " ID integer PRIMARY KEY NOT NULL ," 
      + " UserName varchar(50) NOT NULL ," 
      + " DriverID int NOT NULL ," 
      + " DriverName varchar(100) NULL ," 
      + " MobilePrint int NOT NULL DEFAULT 0 ," 
      + " LastSyncUTC text NULL ," 
      + " SchemaVersion TEXT NOT NULL ," 
      + " PasswordHash TEXT NULL ," + " SyncMinutes int NOT NULL ," 
      + " LatestAppVersion TEXT NOT NULL" + ");"); 

    @Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO: handle updates when they are necessary 
    Log.e(TAG, "DB onUpgrade"); 
    db.execSQL("DROP TABLE IF EXISTS " + "Master"); 
} 

:

여기 내 코드입니다. onUpgrade에서

답변

1

, 당신은 데이터베이스를 다시 모든 작업을 수행해야합니다. onUpgrade 후에 onCreate()가 호출되지 않습니다.

+0

감사합니다. 저를 구해 주셨습니다. :) – Nitish

관련 문제