J2ME实用教程 作者 李新力 第9章-数 据 存 储.pptVIP

J2ME实用教程 作者 李新力 第9章-数 据 存 储.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 数 据 存 储 几乎所有的游戏都需要在运行过程中保存信息,包括:玩家输入的数据,例如玩家的姓名;游戏的进程数据,例如关数、分数等;经常需要使用的工具,例如常用的URL链接等。 J2SE应用会将此类数据存放在硬盘或者快速的网络环境中。而移动设备没有本地硬盘设备,也没有足以保证快速数据存储的网络。因此,MIDP要求的存储方式也与J2SE不相同。 在MIDP规范中,提供了记录管理系统(Record Management System, RMS),这个记录管理系统就是一个小型简单的数据库管理系统(Database Management System),除了能用于管理系统储存的资料之外,也可以用于存储对象的状态信息。 9.1 J2ME数据库系统的概况 RMS是J2ME的一个重要的子系统,目的是实现应用程序本地数据的持久性存储。 Record Store(记录仓储)是一系列记录的有序集合,记录是不能单独存在的,必须属于记录仓储。 MIDP规范中规定移动信息设备要提供至少8K的非易失性存储空间给应用程序来实现数据的持久性存储。但是不同的设备提供的空间并不相同。 MIDP 1.0和MIDP 2.0中关于RMS的实现有些不同,在同一个MIDlet Suite里面的MIDlets可以相互访问彼此的Record Store。 9.2 RMS(Record Management System) RMS记录管理系统就是一个小型的数据库管理系统,它以一种简单的,类似表格的形式组织信息,并存储起来形成持久化存储,以供应用程序在重新启动后继续使用。 每一个MIDlet Suite 都会有属于自己的一个用于RMS的私有空间。 9.3 RecordStore 的管理 9.3.1 RecordStore的打开 RecordStore 提供了一组静态方法openRecordStore()来取得实例。 openRecordStore (String recordStoreName, boolean createIfNecessary)。 openRecordStore (String recordStoreName, boolean createIfNecessary, int authmode, boolean writable); openRecordStore (String recordStoreName, String vendorName, String suiteName); 9.3.2 RecordStore 的关闭 当你不在使用一个打开的RecordStore 时,记得要关闭它以节约资源。这时,你就需要RecordStore 的关闭方法closeRecordStore()。 在记录仓储关闭期间,加载在当前记录仓储上的所有监听器将被消除,记录仓储本身也不能再被调用或遍历,任何试图对RMS 采取的操作都会抛出RecordStoreNotOpenException 错误。 9.3.3 RecordStore的删除 当我们不再需要一个记录仓储的时候,我们就需要通过deleteRecordStore()方法来执行删除。 9.4 RecordStore 的基本操作 9.4.1 增加记录 可以通过方法addRecord(byte[] data, int offset, int numBytes)添加byte数组类型的数据。 9.4.2 修改与删除记录 通过方法deleteRecord(int recordId),传入目标记录的ID 以后,可以从记录仓储中删除记录。 9.4.3 自定义数据类型与字节数组的转换技巧 要将自定义数据与byte数组相互转换,需要ByteArrayOutputStream,DataOutputStream,ByteArrayInputStream,DataInputStream 4个类的协助,在MIDP的帮助中有对于它们的详细描述, 9.4.4 利用RMS实现对象序列化 有了上一节的基础,现在可以很容易地利用RMS 来实现对象的序列化。 下面,以一个单词记

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档