3

SQLite データベースを使用している Android アプリケーションがあります。すべてが正常に機能しています。しかし、.db ファイルをダウンロードして、データベース スキーマとデータベース内のデータを確認したいと考えています。しかし、Android デバイスから SQLite .db ファイルをコピーする方法がわかりません。私の開発にはGoogle Nexus 7を使用しています。その上で私を助けてください 事前に感謝します

4

3 に答える 3

6

adb pull コマンドを使用して、ティーザー デバイスからデスクトップにファイルを読み取ることができます。

例えばadb pull /data/data/com.foo.bar/databases/MyDatabase

于 2013-02-28T10:25:43.207 に答える
2

こんにちは、SQLite データベース ブラウザをダウンロードします。ここをクリックしてダウンロードし、Eclipse でプロジェクトを選択してDDMSウィンドウに移動します。タブで構成されるサブウィンドウが表示されます。ファイル エクスプローラ をクリックし、データ フォルダをクリックして、ドロップ ダウン フォルダを表示します。来て、もう一度データフォルダをクリックしてください これで、Eclipseにロードされたすべてのプロジェクトが表示されます。プロジェクトが構成されている場合はプロジェクトを選択します データベースは、データベースフォルダが表示されることを意味します DBが見つかることを意味します 必要なDBを選択します 保存アイコンをクリックします(デバイスからファイルをプル)してから、データベースを保存します。ダウンロード SQLite db ブラウザーを開き、データベースを表示できる .db 拡張ファイルを参照します。

于 2013-02-28T10:33:29.403 に答える
0

このメソッドを使用して、データベースをデバイスの外部データ ストレージにコピーします

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();
    }
}
于 2013-02-28T10:23:44.840 に答える