我使用Google备份代理备份我的应用上的备注。我试图备份Realm数据库,但它没有用。我在SQLite数据库中使用了这种类型的备份,它工作正常,但我不知道如何正确地获取Realm数据库进行备份。
* MyBackupAgent.java:
import android.app.backup.BackupAgentHelper;
import android.app.backup.BackupDataInput;
import android.app.backup.BackupDataOutput;
import android.app.backup.BackupManager;
import android.app.backup.FileBackupHelper;
import android.os.ParcelFileDescriptor;
import java.io.File;
import java.io.IOException;
public class MyBackupAgent extends BackupAgentHelper {
private String KEY = "key";
@Override
public void onCreate() {
addHelper(KEY, new FileBackupHelper(this, "//data//data//com.twitter.i_droidi.notah//files//Notes"));
}
private void requestBackup()
{
BackupManager bm = new BackupManager(this);
bm.dataChanged();
}
@Override
public File getFilesDir() {
File path = getDatabasePath("//data//data//com.twitter.i_droidi.notah//files//Notes");
return path.getParentFile();
}
@Override
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) throws IOException {
super.onBackup(oldState, data, newState);
}
@Override
public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) throws IOException {
super.onRestore(data, appVersionCode, newState);
}
}