Skip to content

Android:SQLite

Store structured data in a private database.

Export SQLite database file

특어 어플리케이션에 저장된 DB(SQLite)파일을 추출하고 싶을 경우, 해당 프로젝트에서 아래의 함수를 사용하면 된다.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import android.content.Context;
import android.os.Environment;
// ...
public static void copyDb(Context c, String dbName) {
    File outDir = c.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
    String outPath = outDir.getPath() + File.separator + dbName;

    FileInputStream fis = null;
    FileOutputStream fos = null;

    try {
        // File("/data/data/your.app.package/databases/your_db.db3");
        fis = new FileInputStream(c.getDatabasePath(dbName));
        fos = new FileOutputStream(outPath);

        while (true) {
            int i = fis.read();
            if (i != -1) {
                fos.write(i);
            } else {
                break;
            }
        }

        fos.flush();
        // DB DUMP SUCCESS.
    } catch (Exception e) {
        // DB DUMP ERROR.
        e.printStackTrace();
    } finally {
        try {
            fos.close();
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

See also

Favorite site

References


  1. Android_sqlite_database.pdf 

  2. Access_android_app_data_without_root.pdf