SQLite データベースを使用している Android アプリケーションがあります。すべてが正常に機能しています。しかし、.db ファイルをダウンロードして、データベース スキーマとデータベース内のデータを確認したいと考えています。しかし、Android デバイスから SQLite .db ファイルをコピーする方法がわかりません。私の開発にはGoogle Nexus 7を使用しています。その上で私を助けてください 事前に感謝します
3 に答える
adb pull コマンドを使用して、ティーザー デバイスからデスクトップにファイルを読み取ることができます。
例えばadb pull /data/data/com.foo.bar/databases/MyDatabase
こんにちは、SQLite データベース ブラウザをダウンロードします。ここをクリックしてダウンロードし、Eclipse でプロジェクトを選択してDDMSウィンドウに移動します。タブで構成されるサブウィンドウが表示されます。ファイル エクスプローラ をクリックし、データ フォルダをクリックして、ドロップ ダウン フォルダを表示します。来て、もう一度データフォルダをクリックしてください これで、Eclipseにロードされたすべてのプロジェクトが表示されます。プロジェクトが構成されている場合はプロジェクトを選択します データベースは、データベースフォルダが表示されることを意味します DBが見つかることを意味します 必要なDBを選択します 保存アイコンをクリックします(デバイスからファイルをプル)してから、データベースを保存します。ダウンロード SQLite db ブラウザーを開き、データベースを表示できる .db 拡張ファイルを参照します。
このメソッドを使用して、データベースをデバイスの外部データ ストレージにコピーします
private void copyDbToExternal(Context context) {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//data//" + context.getApplicationContext().getPackageName() + "//databases//"
+ DB_NAME;
String backupDBPath = DB_NAME;
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}