- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5_数据库RMS编程
本章目标 记录管理系统的概念 RecordStore结构 javax.microedition.rms 包 记录表 RecordStore的方法 记录 获取记录的信息 对记录进行增加、修改、删除 实例 记录的存储与遍历 记录的存储 使用流写数据 使用流读数据 示例 记录的遍历 RecordEnumeration的方法 得到RecordEnumeration对象 使用RecordEnumeration 过滤与排序 示例 监听记录的变化 事件监听器 示例 实例分析 实例分析:地址本 实例分析:日历 本章小结 * 数据库RMS编程 记录管理系统 记录的存储与遍历 监听记录的变化 实例分析 ???? RMS: Record Management System ???? 记录管理系统(RMS)实际上是一种小型的数据库系统。 与数据库系统中的“表”相对应,要RMS中存放数据是Record Store(记录表)。 每一个表中存放多条记录(Record)。 但RMS中的记录只由两个字段构成, ???? 一是Record ID(记录号,类型为int), ???? 一是数据(Data),数据总是以字节数组方式存储的 ???? 一个MIDlet Suite中的MIDlet可以共享RMS ?但Suite之间是否共享,由环境决定 1. 一个类 RecordStore 2. 四个接口 RecordComparator, RecordFilter, RecordListener, RecordEnumeration 3. 五种异常 InvalidRecordException, RecordStoreException, RecordStroeFullException, RecordStroeNotFoundException, RecordStoreNotOpenException。 ???? 对于一个MIDlet Suite(打包在jar文件 中的多个MIDlet的集合),可以共享相同 的记录表。 ???? 每个记录表有一个唯一的名字,要注意记 录表的名字是区分大小写的。 ???? 使用以下方法可以获得当前MIDlet Suite中所有的记录表的名字: ? RecordStore. listRecordStores(); ???? 要创建或打开记录表,使用以下方法: ???? RecordStore.openRecordStore(记录表的名字,true) ; ???? RecordStore.openRecordStore(记录表的名字,false) ???? 其中的第2个参数,指明了当记录表不存在时是否创建新的 记录表。 ???? 获得RecordStore信息的方法 ???? long getLastModified() 得到最近更新时间 ???? String getName() 得到名字 ???? int getSize() 得到所占空间的大小(以字节为单位) ???? int getSizeAvailable() 得到可用的剩余空间. ???? int getVersion() 得到版本号(版本号自动更新) ???? 关闭及删除RecordStore的方法 ???? void closeRecordStore() 关闭RecordStore ???? static void deleteRecordStore(String recordStoreName) 删除RecordStore ???? RecordID ? 每个记录是由recordID来标识的。 RecordID是记录的Primary Key,每个记 录的recordID是自动生成的,并且自动递增 的。如果记录被删除,其他记录也不会使用 它的ID。 ? RecordID可用于表之间的关联 ???? Data ? 记录中存放的数据以简单的字节数组方式存 放的。 ? int getNextRecordID() ???? 得到下一个ID号(如果新增一条记录就会使用这个ID号) ? int getNumRecords() ???? 得到当前的记录数. ? byte[]getRecord(int recordId) ???? 得到一条记录的数据 ? int getRecord(int recordId, byte[] buffer, int offset) ???? 得到一条记录的数据并复制到一个数组的指定位置 ? int getRecordSize(int recordId) ???? 得到指定记录的数据大小 ? int addRecord(byte[] data, intoffset, int numBytes) ???? 增加一条记录,使用数组中给定的数据
文档评论(0)