1

SQLiteHelperClass を使用して SQLite データベースを作成しました。初めて作成した後、data/data/../databases フォルダーからプルし、編集 (コンテンツを追加) し、データ フォルダーに再度プッシュしました。DDMS を使用して、データベースのプルとプッシュを行いました。これで、アプリは DB 内のすべてのデータにアクセスできます。しかし、私のエミュレーターだけで!デバイスでアプリを実行すると、データベースにアクセスできません。アプリは新しい空のデータベースを作成するだけのようです。したがって、デバイスの Data/Data/../Databases フォルダーは空だと思います..

デバイスにアプリをアップロードすると、エミュレーターで作成したデータベースが削除されるのはなぜですか? アプリがエミュレーターでは完全に正常に動作するが、アプリでは動作しない可能性はありますか?

すみません、英語は私の母国語ではありません。どのコードも役に立たないと思います。問題の原因は論理的なようです..

4

3 に答える 3

0

事前入力されたデータベースを使用できます。Assets フォルダーに保管し、適切な場所 data\data\your packagename\database にコピーします。

事前入力されたデータベース - 完全な例はここにあります

于 2012-06-27T16:38:44.713 に答える
0

DB を作成するには、SQLiteOpenHelper クラスを使用できます。

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

于 2012-06-27T15:27:25.523 に答える
0

アプリの外部でプリロードされた DB を作成し、後でそれをアプリで使用する場合は、それをディレクトリに配置し、アプリの初回起動時にassetsアプリ ディレクトリにコピーする必要があります。databases

This is due to the fact that as a security measure, on real (unrooted) devices nothing but your own app is allowed access to their data directory (which contains the databases directory).

There is a good tutorial for creating/copying your own DB outside of the app and copying it to the apps databases directory here.

于 2012-06-27T15:28:10.290 に答える