2017-01-27 5 views
0

私はAndroidプログラミングには新しく、データベースで練習しています。再コンパイル時にデータベース名を変更しないようにするには

私はヘルパーと "DataManager"クラスを作成しました。
私はAVDエミュレータで私のアプリケーションを実行しようとしているとき、私はいつもエラーが発生するので、私はいつも私のデータベースの名前を変更する必要があります。

public class DBhelper extends SQLiteOpenHelper implements DBstrings{ 

    public DBhelper(Context ctx){ 
    super(ctx,DATABASE_NAME,null,DATABASE_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
    String q = "create table " + DATABASE_TABLE + " (" 
      + KEY_ROWID + " integer primary key, " 
      + KEY_TITLE + " text not null, " 
      + KEY_CONTENT + " text not null);"; 
    db.execSQL(q); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { 

    } 

毎回名前を変更しないようにするにはどうすればよいですか?

ありがとうございます。そして私の完璧な英語には申し訳ありません。

+0

エラーログを添付してください。 –

+0

私は基本的に私のアプリケーションが開かれるたびに初期化されるSQLiteデータベースを持っています。この初期化は、自動的にINSERTクエリを使用してデータベース内のいくつかのエントリを追加することにあります。アプリケーションを再実行するたびに、クエリが再実行され、明らかに、UNIQUE制約に失敗しました。 アプリを再実行するたびにデータベースを完全に消去して再作成する方法を見つけたいと思います。 – Valonqar

答えて

2

コードをコンパイルするたびにデータベース名を変更する必要はありません。データベーススキーマを変更する場合は、データベースバージョンをアップグレードするだけで済みます。それ以外の場合はエラーを共有してください。

+0

まだ開発/テスト段階にある場合は、アプリをアンインストールして再インストールすることもできます。 –

+0

私のアプリケーションをアンインストールして再インストールしても、データベースファイルは削除されません。したがって、UNIQUEエラーは表示され続けます。 – Valonqar

関連する問題