2017-04-08 27 views
2

私はアンドロイドベースのアポイントメント管理システムを作成しています。私はSQLiteデータベースを使用している予定を格納するために。アプリケーションは完璧に動作しますが、唯一の問題は、アプリケーションを再起動するたびにデータベースが再作成されることです。以下は、onCreateメソッドとonUpgradeメソッドです。 (PS。私はこれが彼にうまく働いた。データベースを作成し、接続のビデオチュートリアルを使用していました。唯一の違いは、私は、Macを使っていて、彼はWindowsを使用した場合)アプリケーションの再起動時にSQLiteデータベースを再作成

public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, 1); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, DATE TEXT, TIME TEXT, TITLE TEXT, DETAIL TEXT, UNIQUE(DATE, TITLE))"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXITS" + TABLE_NAME); 
    onCreate(db); 
} 

私は私がアップロードしただけの場合には Database.java

+0

'DATABASE_NAME'は' null'ですか? – laalto

+0

これはDATABASE_NAME = "appointment.db"に設定されていません –

+0

エミュレータまたは実際のデバイスを使用していますか? –

答えて

0

クラス全体が表示されなくても大したことはありませんが、誤ってデータベースをどこかで削除している可能性がありますか? deleteDatabaseのどこかに埋もれている可能性のある呼び出しを探してください。特に、コードの一部を残したチュートリアルのコードに基づいている場合は、

+0

実際にはどこにも呼び出されず、別の問題はデータベース更新クエリがまったく動作しないことです。 –

+0

私のコードはここにあります。 [link] https ://docs.google.com/document/d/1Gl9uVnwKbZCDSThUQ-alFrkMdBbLylmUeaCTFvtsE4A /edit?usp = sharing –

関連する問題