Samsung の携帯電話で生データ ファイルを取得することはできますか?
サンプルアプリがあるように、このアプリはデータを携帯電話のデータベースに保存しました。その生データを取得したいのですが、どこにあるのかわかりません。
ありがとう
RJ
Samsung の携帯電話で生データ ファイルを取得することはできますか?
サンプルアプリがあるように、このアプリはデータを携帯電話のデータベースに保存しました。その生データを取得したいのですが、どこにあるのかわかりません。
ありがとう
RJ
携帯電話のアプリからデータベースに直接アクセスするには、Android SDK に付属のプラットフォーム ツール、具体的には adb と sqlite3 を使用できます。
たとえば、アプリケーション パッケージの名前 (com.sample.app など) がわかっている場合は、データベースに関する詳細情報を見つけることができます。まず、Android SDK フォルダーで platform-tools フォルダーを見つけてから、次のコマンドを使用して携帯電話へのシェルを開きます。
adb shell
これにより、コマンド ラインから電話を表示できるようになります。データベースはフォルダー /data/data に保存する必要があるため、次のように入力して特定のデータベースに移動できるはずです。
cd /data/data/com.sample.app
このディレクトリ内にデータベース ディレクトリがあるはずです。
cd databases
これで、このディレクトリ内から、アプリが使用するすべてのデータベースにアクセスできるようになります。具体的には、データベースの名前が mydatabase の場合、次のコマンドを使用してデータベースへのアクセスと表示を開始できるはずです。
sqlite3 mydatabase
そこから、さまざまなテーブル、現在保存されているデータなど、データベースについて詳しく知ることができます。ツール内のヘルプについては、.help と入力してください。
ツールの詳細については、http: //developer.android.com/tools/help/sqlite3.htmlを参照してください。
簡単なチュートリアルはこちら: http://www.vogella.com/articles/AndroidSQLite/article.html#sqlite_commnandline
もう 1 つの方法は、デバイスからデータベースを取得し、PC の sqlite クライアントで参照することです。
このためadb pull
には、ソース パスとターゲット パスをパラメーターとして受け取るツールが必要です。
adb pull /data/data/com.yourdomain.yourapp/databases/yourdatabase.db c:\users\yourfolder
次に、SQLite Database Browserやその他の sqlite クライアントなどを使用できます。