AndroidデバイスでSQLiteデータベースを作成しました。プログラムはデータベースへの読み取り/書き込みができるため、データベースファイルが作成されていることは明らかです。SQLiteDatabase.mPathは
db.mPath = "/data/data/dev.client.Android/databases/clientDB.db"
しかし、デバイス上のディレクトリを参照すると、clientDB.dbファイルが見つかりません。データディレクトリの内部を見ましたが、空のようです。
誰がここで何が間違っているのか知っていますか?
/data
で何も見つかりませんでした。あなたは通常のAndroidハードウェアを調べています。これは予想されています。DDMSには/data
。
ただし、少なくともアプリがデバッグモードでコンパイルされている場合は、adb pull
コマンドをコンソールで実行して、ファイルを直接ダウンロードします。
contextWrapperでgetDatabasePathを試してください( http://developer.Android.com/reference/Android/content/ContextWrapper.html )。アクティビティクラスまたはアプリケーションクラスにいる場合は、次を試してください。
File dbFile = getDatabasePath(MY_DB_NAME);
Log.i(dbFile.getAbsolutePath());
/data/data/my.package.name/databases/
は、データがSDカードに移動されていないか、デバイス/ OSが別のデータディレクトリを決定したばかりであるという保証がないため、不良です。
デバッグモードでは、adb Shellを使用して、ディレクトリの内容を参照できます。シェルでsqlite3 /data/data/dev.client.Android/databases/clientDB.dbを呼び出して、DBを分析できます。