1

Sqliteこんにちは、 &にデータを保存するアプリケーションを開発していますSharedPrefrences。私はサービスを登録することでそれを行うことができると言っているAndroidドキュメントから調査しましたが、SDカードにデータをバックアップしたいので、これはクラウドストレージ専用だと思います. FileBackHelper も探しましたが、明確にはなりませんでした。

それを実装する最良の方法を教えてください。

4

1 に答える 1

5

このように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();
        }
}

共有設定ファイルの場所は、主にデバイスの製造元によって選択されるため、共有設定ファイルのパスをハードコーディングするのは適切ではありません。

于 2015-01-28T04:50:50.833 に答える