アプリのデータベースを取得したい。通常、私は電話の「データ」フォルダーに行き、DDMSファイルを探索し、コンピューターにdbファイルをエクスポートして、FF用のSQLiteManagerプラグインを介して開きます。しかし、HTC one X の「データ」フォルダーは空で、アプリがインストールされている場所が見つかりません。
アドバイスや解決策を教えてください。
アプリのデータベースを取得したい。通常、私は電話の「データ」フォルダーに行き、DDMSファイルを探索し、コンピューターにdbファイルをエクスポートして、FF用のSQLiteManagerプラグインを介して開きます。しかし、HTC one X の「データ」フォルダーは空で、アプリがインストールされている場所が見つかりません。
アドバイスや解決策を教えてください。
実際のデバイスを使用している場合は、電話をルート化しない限り、外部から表示またはアクセスすることはできません。
エミュレーターを使用している場合、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");
}
}