0

        SQLiteDatabase db = getReadableDatabase();
        String path = db.getPath();

データベース ファイルがパスにあることはわかっています/data/data/com.packagename/databases/app.db

私のユーザーは、たとえば携帯電話を変更した場合などにデータをバックアップするために、このファイルにアクセスできる必要があります。Windowsエクスプローラーで見つけようとしましたが、/dataこのように呼び出されるフォルダーはありません。

検索でデータベースファイルも検索しましたが、成功しませんでした。この方法で入手することはできませんか?

4

2 に答える 2

1

アプリケーションのプライベート内部ストレージにあるファイルは、エンドユーザーの USB 大容量ストレージまたは MTP ファイル アクセス メカニズムではアクセスできません。

一般的なアクセス許可を明示的に設定するか、デバッグ APK またはデバッグ デバイスをテストしていない限り、adb および ddms 開発者ツールでもアクセスできません。

あなたのオプションには、代わりに外部ストレージにデータベースを保存するか、アプリにメニューを用意して、ユーザーがそこにコピーを作成するオプションを提供することが含まれますが、オリジナルはアプリのプライベートフォルダーに残り、他の干渉から比較的免れますアプリが所有者のない外部ストレージにある場合に発生する可能性があります。

于 2013-06-04T15:46:50.720 に答える
0

いいえ、ルート化された電話を持っていない場合は不可能です。ルート化された電話をお持ちの場合は、次のコマンドを実行して ADB で取得できます

adb pull /data/data/com.packagename/databases/app.db
于 2013-06-04T15:46:28.120 に答える