0

私はアンドロイドアプリを開発しています。モバイルでアプリをテストしましたが、アプリのデータベース (つまり、モバイル データベース) を確認する必要があります。私は Mac を使用しており、モバイルからデータベースをプルして SQLite ブラウザーで表示する方法を混乱させています。

助けてくれてありがとう。

4

1 に答える 1

3

実際のデバイスではできません (ルート化されていない限り)。データ ディレクトリは、所有しているアプリ以外からのアクセスから保護されています。

デバイスから取得するには、アプリでメソッドを設定して、アクセス可能な場所 (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-06-27T12:21:30.310 に答える