1

アプリのデータベースを取得したい。通常、私は電話の「データ」フォルダーに行き、DDMSファイルを探索し、コンピューターにdbファイルをエクスポートして、FF用のSQLiteManagerプラグインを介して開きます。しかし、HTC one X の「データ」フォルダーは空で、アプリがインストールされている場所が見つかりません。

アドバイスや解決策を教えてください。

4

1 に答える 1

2

実際のデバイスを使用している場合は、電話をルート化しない限り、外部から表示またはアクセスすることはできません。

エミュレーターを使用している場合、DDMS ビューを使用すると、エミュレーターに移動してそこからプルできます。

または、DB の作成に問題がある可能性があります。コードを見ないとわかりません。

ファイルを実際のデバイスから取得したい場合は、データ ディレクトリからアクセスできる場所 (SD カードなど) にファイルをコピーするメソッドを実装する必要があります。これはトリックを行います:

public void backup() {
    try {
        File sdcard = Environment.getExternalStorageDirectory();
        File outputFile = new File(sdcard,
                "YourDB.bak");

        if (!outputFile.exists()) 
             outputFile.createNewFile(); 

        File data = Environment.getDataDirectory();
        File inputFile = new File(data, "data/your.package.name/databases/yourDB");
        InputStream input = new FileInputStream(inputFile);
        OutputStream output = new FileOutputStream(outputFile);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = input.read(buffer)) > 0) {
            output.write(buffer, 0, length);
        }
        output.flush();
        output.close();
        input.close();
    } catch (IOException e) {
        e.printStackTrace();
        throw new Error("Copying Failed");
    }
}
于 2012-11-24T13:18:57.397 に答える