Наиболее удобно будет просто скопировать файл с базой данных на карту памяти смартфона, не находите? Можно конечно заморочиться с библиотеками типа Jackson или GSON, но ЗАЧЕМ, если все равно придется копировать в доступное юзеру место, т.к. "личное пространство" приложения при удалении тоже удаляется?
public void exportDatabse(String databaseName) {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//"+getPackageName()+"//databases//"+databaseName+"";
String backupDBPath = "backupname.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
}
}
Не забыть
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Использование:
exportDatabse("Имя базы данных")