2

Androidのエミュレーターにアプリをデプロイすると、DBもデプロイされます。DBに変更を加えても、エミュレータに再度デプロイされることはありません。これを行うには、デバイスマネージャからエミュレータを削除して新しいエミュレータを作成する必要があるたびに。このプロセスは本当に面倒です。エミュレータからDBを削除して、新しいDBをデプロイする方法についてのアイデアはありません。

4

6 に答える 6

2

コンストラクターまたは SQLIteOpenHelper を拡張するクラスで提供するデータベースのバージョンを上げる必要があるだけです......

SQLIteOpenHelper で onUpgrade をオーバーライドします。

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  if (newVersion > oldVersion)
    Log.v("Database Upgrade", "Database version higher than old.");
  myContext.deleteDatabase(DB_NAME);
}
于 2012-06-27T06:06:39.517 に答える
1

より簡単に:

DDMS prespective を開く (メニュー ウィンドウ >> 新しい prespective を開く)

ファイル探索タグを選択します。

次に、データ > データ > パッケージ名 > データベース > データベース名に移動します。

そして削除

于 2012-06-27T06:13:22.493 に答える
1

次の手順を実行します:

DDMS > 左側のパネルからエミュレーターを選択

右側から fileexplorer を選択 > アプリケーション パッケージを選択 データベース フォルダをクリックしてデータベースを選択し、右上から削除 (「赤色のマイナス」)

于 2012-06-27T06:18:40.180 に答える
0

早くて簡単:

 context.deleteDatabase(DATABASE_NAME);
于 2012-06-27T06:08:53.727 に答える
0

エミュレーターを削除するのではなく、データベースを削除します

ddms----> ファイル エクスプローラー ----> data/data/your_package_name --->databases --->yourdatabase .

そしてそれを削除します。

もう1つできること

アプリケーションをアンインストールして再度インストールすると、データベースが削除され、データベースが再度作成されます。

于 2012-06-27T06:13:47.703 に答える
0

データベースを削除したい場合のもう1つの方法は、テーブルを削除して、以下に示すようにテーブルを再度作成することです。

String Droptable="drop table if exists item_master"; // where item_master is table name 
myDataBase.execSQL(Droptable); 

ドロップした後、次のように再作成します

 String Createtable="CREATE TABLE \"item_master\" (\"item_id\" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE , \"item_name\" VARCHAR, \"item_img\" VARCHAR, \"item_s_desc\" TEXT, \"item_desc\" TEXT, \"item_map\" VARCHAR, \"bookmark\" VARCHAR DEFAULT N, \"category_id\" INTEGER)"; 

 myDataBase.execSQL(Createtable);

必要に応じて、列名を変更したり、列を追加または削除したりできます

于 2012-06-27T06:27:03.970 に答える