专注于Blackberry

BlackBerry 应用程序开发者指南 第二卷:高级–第9章 备份和恢复持久数据

9
            第9章 备份和恢复持久数据

同步API
增加备份持久数据的支持

同步API
在net.rim.device.api.synchronization包里的同步API可以使应用程序和BlackBerry桌面软件集成以完成2个任务:

将一个数据库备份到桌面文件,以后可以恢复它.
和桌面应用程序同步数据.

注::BlackBerry桌面软件需要备份的数据使用下面的格式:
Length<2> Type<1> Data<n>
为了验证数据是否有合适的格式,使用net.rim.device.api.synchronization.ConverterUtilities类里的任何一个写方法;
数据备份
桌面软件提供一个Backup and Restore工具,它允许用户将BlackBerry设备上的数据保存到桌面上的一个文件,并且使用此桌面文件将数据恢复到BlackBerry设备上.
当一个应用程序实现了同步API,桌面软件将应用程序数据库备份和恢复到其他的BlackBerry设备数据库.你也可以使用同步API创建数据备份(archives),或者当BlackBerry设备第一次连接到计算机时跳出应用程序数据库.
数据同步
桌面软件提供一个Intellisync的工具,此工具将BlackBerry设备和用户计算机上的应用程序同步.
当备份和恢复加载BlackBerry设备和一个桌面备份文件之间的数据时,同步比较桌面应用程序存在的数据和BlackBerry设备上的数据,然后合并这些数据..
为了和桌面应用程序进行数据同步,使用BlackBerry桌面API为桌面软件编写一个插件.BlackBerry JDE也包含了一个同步实例应用程序作为桌面的一个插件.  注:你存储数据进行备份的格式是没有限制的.唯一的要求就是应用程序应该使用桌面插件应用程序使用的格式进行读写数据.
同步API
实现下面同步API提供的接口:

接口

描述

SyncConverter

转化BlackBerry设备需要的SyncObject格式和桌面需要的序列化格式之间的数据.

SyncCollection

代表了一个应用程序同步对象的集合.

SyncObject

代表了一个可以备份和恢复到用户计算机的对象.

SerialSyncManager类可以访问同步管理器,特别的,它可以为同步注册新的对象  注:为了备份和恢复非常少的数据,例如应用程序设置选项,你可以扩展SyncItem类,并实现它的抽象方法. SyncItem类为你已经实现了SyncCollection, SyncConverter, 和 SyncObject接口.
增加备份持久数据的支持
为了支持备份,修改一个实现了Persistable接口的类,实现SyncObject接口.
修改应用程序的主类以实现SyncCollection和SyncConverter接口.  注: SyncCollection和SyncConverter接口可以由相同的类或者由单独的类实现,这决定于你的应用程序.下面的章节将解释如何再相同的类里实现这些接口.
定义一个唯一ID
定义一个_uid变量. getUID()的实现为同步操作返回一个唯一ID.
定义一个构造子
你的构造子的实现接受一个唯一ID作为参数,并且将之设置为_uid变量的值.  注:每一个存储在BlackBerry设备上的同步对象,必须有一个关联的ID,此ID对于它的应用程序来说必须是唯一的. UIDGenerator缺省的设置此ID值.
注册一个同步集合
在main()方法里,在同步管理器上注册你的SyncCollection., 当BlackBerry设备第一次启动时,创建一个独立的工程传入初始化参数.为获的更多的信息,参看108页的”当BlackBery设备启动时注册一个同步集合”.

public static void main(String[] args) {
    boolean startup = false;
    for (int i=0; i<args.length; ++i) {
       if (args[i].startsWith("init")) {
           startup [...]

继续阅读本文 →

  

Confach发表于 April 29, 2008 5:58 am | 留言 |新闻