首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> Symbian入门 >> 正文
Symbian应用程序中如何备份和载入
作者:Lee 译    文章来源:http://www.symbianx.cn    更新时间:2007-4-5 9:27:59
在S60 3rd中,默认情况下将不被支持。支持备份将使你的应用程序用户界面更加友好,做备份的用户(或者只有一小部分)期望自己的所有应用程序可以被备份。让我们来满足这些用户的需求,大多数情况下,这是非常容易的……

使应用程序可以备份文件的另一个原因是Symbian Signed。它不是一个强制的,但是,你的应用程序没有意识到备份的问题,你必须通知Test House 或者他们可能认为你的备份功能失败。再说一次,大多数情况下,备份是非常简单的。

程序备份基础

如果你想使应用程序具备备份功能,以下是最起码要做到的(也就是说,只能执行和相应的资源文件,没有数据可以被支持):
1. 写一个backup_registration.xml文件,内容如下:
 
CODE:
<?xml version="1.0" standalone="yes" ?>
<backup_registration>
<system_backup />
<restore requires_reboot="no" />
</backup_registration>

2. 添加它到你的PKG文件
 
CODE:
"backup_registration.xml"-"!:\private\<your SID>\backup_registration.xml"

添加私有数据到你的备份文件

另外一个常见的需求就是保存数据内容到你的私有文件夹(位置在\private\<your SID>)。添加以下申明到你的backup_registration.xml 文件中(使用<backup_registration>标签):
 
CODE:
<passive_backup>
   <include_directory name="\" />
</passive_backup>

你也可以保存所有内容到"nobackup" 私有目录:
 
CODE:
<passive_backup>
   <include_directory name="\">
         <exclude name = "\nobackup\"/>
   </include_directory>
</passive_backup>

你也可以指定些文件代替文件夹:
 
CODE:
<include_file name="important.dat" />
<include_file name="me_too.dat" />

添加公共文件到备份文件中

在前面的内容中,“\”目录被指定为应用程序的私有目录。如何保存那些在私有数据以外的数据呢?这个也很简单,你可以使用另外的一个XML标签。可以用 <public_backup>标签来替换<passive_backup>,路径相对于你手机的根目录(不需要指定驱动器):
 
CODE:
<public_backup>
   <include_directory name="C:\MyData" />
</public_backup>

所知到的Bug

不幸的是,包含一些bug会影响备份和重新载入特性:

1. 位于C:\System 的数据不被支持:非工作区,除非指定数据到其他位置……

2. 使用开发证书(developer certificate),应用程序的备份和载入会失败。这一点是很可怕的: 你测应用程序的试备份恢复仅仅只能在你注册了自产生证书(self- generated certificate)的时候。如果你使用开发证书(developer certificate)是不行的,你的应用程序将能够备份,但是恢复的时候会失败。

作者不能计算在第二点上到底花费了多少时间,作者说至少花费了一个下午的时间去尝试用开发证书(developer certificate)测试它。

参考:

PC connectivity: how to write backup-aware software
How to troubleshoot backup/restore
相关文章:
没有相关文章
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号