Sqlite
こんにちは、 &にデータを保存するアプリケーションを開発していますSharedPrefrences
。私はサービスを登録することでそれを行うことができると言っているAndroidドキュメントから調査しましたが、SDカードにデータをバックアップしたいので、これはクラウドストレージ専用だと思います. FileBackHelper も探しましたが、明確にはなりませんでした。
それを実装する最良の方法を教えてください。
Sqlite
こんにちは、 &にデータを保存するアプリケーションを開発していますSharedPrefrences
。私はサービスを登録することでそれを行うことができると言っているAndroidドキュメントから調査しましたが、SDカードにデータをバックアップしたいので、これはクラウドストレージ専用だと思います. FileBackHelper も探しましたが、明確にはなりませんでした。
それを実装する最良の方法を教えてください。
このようにsqlite dbをsdcardにコピーできます
private void exportDB(){
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
FileChannel source=null;
FileChannel destination=null;
String currentDBPath = "/data/"+ "com.your.package" +"/databases/"+db_name;
String backupDBPath = SAMPLE_DB_NAME;
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
try {
source = new FileInputStream(currentDB).getChannel();
destination = new FileOutputStream(backupDB).getChannel();
destination.transferFrom(source, 0, source.size());
source.close();
destination.close();
Toast.makeText(this, "DB Exported!", Toast.LENGTH_LONG).show();
} catch(IOException e) {
e.printStackTrace();
}
}
共有設定ファイルの場所は、主にデバイスの製造元によって選択されるため、共有設定ファイルのパスをハードコーディングするのは適切ではありません。