このトピックに関する以前の質問への回答を見てきましたが、どれも機能していないようです。私はEclipseで開発しており、エミュレーターでアプリを実行しています。
最も簡単な方法は、adb
シェルを sqlite3 コマンドと組み合わせて使用することです。adb を使用すると、エミュレータ デバイスを確認できます。adb シェルを起動すると、データベースがあるはずのディレクトリが表示されます。
/data/data/com.example.myfirstapp/databases/ (where com.example.myfirstapp is the package name of the app)
ただし、.db
そのディレクトリにはファイルがありません。アプリが作成したデータベースと同じ名前のファイルがありますが、拡張子がありません.db
。
(アプリケーション用のディレクトリがあるため、エミュレートされたデバイスのファイル システムが表示されていると確信しています)。
アップデート
すべての応答を確認し、adb/sqlite3 経由でデータベースにアクセスし、DDMD/Sqlite ブラウザーも使用した後、コードで「初心者」の間違いを犯したことに気付きました。
public class MessageOpenHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "MyFirstApp.db";
public static final String MESSAGE_COLUMN = "message";
public static final String MESSAGE_TABLE_NAME = "messages";
private static final String MESSAGE_TABLE_CREATE = String.format("create table %s (%s TEXT);", MESSAGE_TABLE_NAME, MESSAGE_COLUMN);
public MessageOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
.db
慣例により、データベース名には拡張子を含める必要があります。これがなくても問題なく動作しますが、Eclipse 用の Sqlite ブラウザーはファイルを認識しません。私のような初心者が同じ過ちを犯さないことを願っています。