Android BackupManager и мое приложение db: лучшие подходы - PullRequest
3 голосов
/ 26 января 2012

Я хотел бы использовать BackupManager для резервного копирования БД для моего приложения.В документации говорится о BackupAgent и BackupAgentHelper, и говорится, что вы хотите использовать BackupAgent, если у вас есть БД.

С другой стороны, BackupAgentHelper имеет аккуратный FileBackupHelper, который упрощает работу.

Мои вопросы:

1) Можно ли использовать FileBackupHelper для резервного копирования файла .sqlite в / data / data / / database?

2) если нет, возможно ли использовать методы SQLiteOpenHelper внутри onBackup() и onRestore() (onCreate / onUpgrade для резервного копирования / восстановления)?

1 Ответ

0 голосов
/ 18 января 2014

Это возможно. Когда вы расширяете BackupAgentHelper и реализуете его onCreate () , вы можете сделать что-то вроде этого:

addHelper(STATS_BACKUP_KEY, new DbBackupHelper(this, "my_db_name"));

И ваш класс DbBackupHelper может выглядеть так:

public class DbBackupHelper extends FileBackupHelper {

    public DbBackupHelper(Context ctx, String dbName) {
        super(ctx, "../databases/" + dbName);
    }
}

Для полного примера посмотрите проект Andlytics на GitHub: AndlyticsProject .

...