J2ME游戏开发第八章RMS(记录管理系统)编程.pptVIP

J2ME游戏开发第八章RMS(记录管理系统)编程.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
J2ME游戏开发第八章RMS(记录管理系统)编程.ppt

J2ME游戏开发 第八章 RMS(记录管理系统)编程 持久化存储的必要性 如果有游戏要存盘,怎么办呢?--RMS 存入文件?但是有的手机不支持?---RMS 于是在J2ME中出现了RMS,它和数据库相类似。 相关的包:javax.microedition.rms 怎么做才能保存数据呢?----RecordStore RMS相当于一个管理系统; RecordStore是记录集,类似于表,表中有记录Record RMS包的体系结构 打开记录集(或者说是一张表)的方法 Attention RecordStore常用方法 针对记录集的操作 占据空间大小 size() 得到记录集的名称 getName() 列出当前的所有记录集 RecordStore.listRecordStores() 添加记录的操作 每个记录都有ID,第一个记录的ID为1 getRecordDemo 将对象写入RMS 案例:要求定义一个对象Customer,包括姓名,电话号码和年龄,要求存入RMS 步骤: 1)将对象转换为字节数组(序列化) //将对象转为字节数组的方法 public byte[] object2ByteArray () throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos=new DataOutputStream(baos); //利用dos将对象写入baos dos.writeUTF(ame); dos.writeUTF(this.phone); dos.writeInt(this.age); baos.close(); dos.close(); return baos.toByteArray(); } 2)将字节数组转换为对象 public static Customer byteArray2Object (byte[] bf) throws Exception { ByteArrayInputStream ba = new ByteArrayInputStream(bf); DataInputStream doa=new DataInputStream(ba); Customer co=new Customer(); co.setCname(doa.readUTF()); co.setPhone(doa.readUTF()); co.setAge(doa.readInt()); ba.close(); doa.close(); return co; } rs =RecordStore.openRecordStore(rs1,true); Customer ct=new Customer(); ct.setCname(张三丰); ct.setPhone; ct.setAge(18); try {//写入记录 byte[] bt=ct.object2ByteArray(); rs.addRecord(bt,0,bt.length); //读取记录 byte[] bt1=ct.object2ByteArray(); Customer ct1=null; ct1=Customer.byteArray2Object(bt1); System.out.println(ct.getCname()); System.out.println(ct.getPhone()); System.out.println(ct.getAge()); } catch (Exception e) { e.printStackTrace(); } //容易出错的遍历,仍然遍历最大的ID次 rs.deleteRecord(3); int n=rs.getNextRecordID(); for(int j=1;jn;j++) { try{ System.out.println(new String(rs.getRecord(j))); }catch(Exception ex) { System.out.println(ex.getMessage());

文档评论(0)

cai + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档