public interface BackupHelper
android.app.backup.BackupHelper |
Known Indirect Subclasses |
定义BackupAgentHelper
在将备份和还原操作分派给安装的助手时使用的调用接口。 应用程序可以定义和安装自己的助手,也可以使用那些作为Android框架的一部分提供的助手。
虽然可以同时安装多个帮助程序对象,但每个帮助程序仅负责处理其自己的数据,并且不会看到由备份系统中的其他组件创建的实体。 由BackupAgentHelper
按顺序执行多个助手的调用,每个助手都有机会从上一次备份操作期间生成的状态记录中访问自己的保存状态。
Public methods |
|
---|---|
abstract void |
performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) 基于 |
abstract void |
restoreEntity(BackupDataInputStream data) 由 |
abstract void |
writeNewStateDescription(ParcelFileDescriptor newState) 在恢复操作之后由 |
void performBackup (ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
根据 oldState
,确定需要备份的应用程序内容,将其写入 data
,并填写完整状态(现在存在)的 newState
。
实现此方法非常类似于实现onBackup()
方法参数相同。 当调用此方法时, oldState
描述符指向在此帮助程序的先前备份操作期间写入的状态数据的开始,并且newState
描述符指向辅助程序在执行备份操作后应写入其新状态的文件位置。
注:帮助程序不应关闭或寻找oldState
或newState
文件描述符。 从oldState
文件中读取帮助程序的保存状态时, oldState
是,除了此帮助程序存储的内容外,不会消耗额外的内容。 如果读取了更多的旧状态数据,即使意外,它也将无法为在此之后可能调用的其他助手正确重建其先前状态。
Parameters | |
---|---|
oldState |
ParcelFileDescriptor : An open, read-only ParcelFileDescriptor pointing to the last backup state provided by the application. May be null , in which case no prior state is being provided and the application should perform a full backup. |
data |
BackupDataOutput : An open, read/write BackupDataOutput pointing to the backup data destination. Typically the application will use backup helper classes to write to this file. |
newState |
ParcelFileDescriptor : An open, read/write ParcelFileDescriptor pointing to an empty file. The application should record the final backup state here after writing the requested data to the data output stream. |
void restoreEntity (BackupDataInputStream data)
由BackupAgentHelper
调用以从还原数据集中还原单个实体。 将为属于此处理程序的数据集中的每个实体调用此方法。
注意:不要关闭data
流。 请勿从data
读取超过size()
个字节。
Parameters | |
---|---|
data |
BackupDataInputStream : An open BackupDataInputStream from which the backup data can be read. |
void writeNewStateDescription (ParcelFileDescriptor newState)
在恢复操作之后由BackupAgentHelper
调用以写入由助手处理的与数据相对应的备份状态文件。 此处写入的数据将在下次调用performBackup()
方法时供助手使用。
即使在还原操作期间从未调用处理程序的 restoreEntity()
方法,也会调用此方法。
注意:帮助程序不应关闭或寻找 newState
文件描述符。
Parameters | |
---|---|
newState |
ParcelFileDescriptor : A ParcelFileDescriptor to which the new state will be written. |