收藏 分享(赏)

4 记录管理系统.ppt

上传人:hyngb9260 文档编号:12376640 上传时间:2021-12-11 格式:PPT 页数:29 大小:277.50KB
下载 相关 举报
4 记录管理系统.ppt_第1页
第1页 / 共29页
4 记录管理系统.ppt_第2页
第2页 / 共29页
4 记录管理系统.ppt_第3页
第3页 / 共29页
4 记录管理系统.ppt_第4页
第4页 / 共29页
4 记录管理系统.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、第四章记录管理系统 2020年4月30日 2 内容 RMS概述记录库操作记录操作监视记录库记录的查询与排序 RMS概述 记录管理系统 RecordManagementSystem RMS 小型 简单数据库管理系统可以保存简单数据可以将对象状态经过序列化之后 保存到记录管理系统记录管理系统存在于设备特定的存储空间 称为RMS空间 RMS 数据是保存在记录库 RecordStore 中 在记录库中的每一条数据也被称为记录 Record 记录库其实就是一个记录的集合 在RMS中 记录数据只是一个简单的字节数组 byte 如果把一个记录库当成数据库表 那么该表只有两个字段 一个整数类型的记录ID和一个

2、字节数组表示的记录数据 记录库和记录 记录库 RecordStore RMS系统的核心就是记录库在一个MIDletSuite的RMS空间中 可以有多个记录库 这些记录库的名称必须是唯一的 记录库的名称最长为32个字符 Unicode字符 而且是大小写敏感的 在不同的MIDletSuite中 可以有重名的记录库 RMS使用记录库的全名来区分这些记录库 一个记录库全名的由3个部分组成 MIDletSuite名 供货商名 记录库名 MIDletSuite的全名是由MIDletSuite名 供货商名和版本号三个属性组成的唯一名称 访问记录库 不管记录是如何存储在MIDP设备之上的 都不允许MIDlet

3、直接访问 MIDP应用必需通过RMSAPI才能访问RMS 记录库属性 记录库属性包括 名称时间戳版本号下一条记录位置等实现数据同步 记录 Record 记录是记录库中的数据 记录库中的每条记录都有一个唯一的整数标识 称为记录ID recordId 记录库中的第一条记录的记录ID值为1 在每次向记录库中添加记录时 记录ID会依次递增 每条记录的数据都是简单的字节数组 由记录ID唯一标识 每个记录库中可以存在任意数量的记录 每个记录中的字节数组大小 字节数 也是可变的 当记录库中的一条记录被删除后 原来的记录ID值不允许再次使用 记录库操作 在MIDP中 所有RMS相关的类都位于javax mic

4、roediton rms包中只提供RecordStore类来保存和访问MIDP设备上的数据创建记录库 增加记录 删除记录 更新记录 获取记录库状态 创建和打开记录库 使用RecordStore类提供的openRecordStore 方法才能创建或打开记录库 三种使用格式打开或创建指定名字的记录库publicstaticRecordStoreopenRecordStore StringrecordStoreName booleancreateIfNecessary 用于打开或创建可以和其他MIDletSuite共享的记录库publicstaticRecordStoreopenRecordStor

5、e StringrecordStoreName booleancreateIfNecessary intauthmode booleanwritable 打开已经存在的 属于其它MIDletSuite的记录库publicstaticRecordStoreopenRecordStore StringrecordStoreName StringvendorName StringsuiteName 关闭记录库 在使用完记录库之后 必须关闭记录库以释放系统资源RecordStore类方法publicvoidcloseRecordStore 需要注意的是 只有在调用closeRecordStore 方法

6、的次数和调用openRecordStore 方法的次数相等 该记录库才会真正被关闭 也就是说 只要还有MIDlet在使用该记录库 记录库就不会被关闭 如果一个MIDlet关闭了记录库之后还试图执行记录库操作 包括关闭记录库 就会产生RecordStoreNotOpenException异常 删除记录库 RecordStore类的方法publicstaticvoiddeleteRecordStore StringrecordStoreName MIDletSuite只允许删除自己的记录库 在删除记录库前 该记录库必须为关闭状态 否则会产生RecordStoreException异常 如果记录库不

7、存在 则会发生RecordStoreNotFoundException异常 2020年4月30日 13 练习1 建立项目Rms Test1创建界面如下 分别在三个命令中实现记录库的建立 关闭和删除操作 记录库属性操作 改变访问模式publicvoidsetMode intauthmode booleanwritable 获取记录库列表publicstaticString listRecordStores 获取记录库属性publiclonggetLastModified publicStringgetName publicintgetNextRecordID publicintgetNumRec

8、ords publicintgetSize publicintgetSizeAvailable publicintgetVersion 2020年4月30日 15 记录库操作实例 记录库操作工具类 RecordStoreUtil java记录库属性操作 TestRecordStore java 记录操作 将记录数据存储到记录库中 获取 修改和删除记录库中的记录增加记录获取记录修改记录删除记录记录操作实例 增加记录 RecordStore类中方法 publicintaddRecord byte data intoffset intnumBytes 在记录库中增加一条新的纪录只提供写入字节数组 b

9、yte 的方法 其他类型的数据需将其转换为字节数组才能写入记录库中 2020年4月30日 18 添加字符串数据记录 publicstaticintwriteString RecordStorers StringmyString byte b myString getBytes intid 1 try id rs addRecord b 0 b length catch Exceptione 异常处理 returnid 添加整数数据记录 publicstaticintwriteInt RecordStorers intmyInt intid 1 StringmyString newInteger

10、 myInt toString id writeString rs myString returnid 获取记录 RecordStore类中有两种方式来获取记录 方式1 直接获取记录数据 publicbyte getRecord intrecordId 方式2 获取记录数据 并将记录数据复制到指定缓冲区的指定位置 publicintgetRecord intrecordId byte buffer intoffset 返回的数据是记录库中数据的副本对此数据的修改 并不会影响记录库中的数据 2020年4月30日 21 获取字符串数据记录 publicstaticStringgetString R

11、ecordStorers intid try byte b rs getRecord id return newString b catch Exceptione 异常处理returnnull 获取整数数据记录 publicstaticintgetInt RecordStorers intid intresult Integer MIN VALUE Strings getString rs id try result Integer parseInt s catch Exceptione 异常处理 returnresult staticintMAX VALUE它表示int类型能够表示的最大值

12、Integer MIN VALUE 2147483848staticintMIN VALUE它表示int类型能够表示的最小值 Integer MAX VALUE 2147483647 修改记录 RecordStore类中方法publicvoidsetRecord intrecordId byte newData intoffset intnumBytes 在该方法运行后 调用getRecord intrecordId 方法就会返回一个numBytes大小的字节数组的记录数据 2020年4月30日 24 修改字符串数据记录 publicstaticvoidsetString RecordStor

13、ers intid StringnewString byte b newString getBytes try rs setRecord id b 0 b length catch Exceptione 异常处理 修改整数数据记录 publicstaticvoidsetInt RecordStorers intid intnewInt StringmyString newInteger newInt toString setString rs id myString 删除记录 RecordStore类中删除指定记录的方法publicvoiddeleteRecord intrecordId 参数recordId指定被删除记录的ID 该记录ID不再被重新使用 2020年4月30日 27 记录操作实例 由于记录库中只保存字节数组数据 其他任何类型的数据都需要转换为字节数组才能保存 同时 从记录库中读取的数据也是字节数组 也需要作相应转换才能恢复成所需要的数据类型 记录库操作工具类 RecordStoreUtil java记录操作 TestRecord java 练习2 在实现练习Rms Test1的基础上 建立项目Rms Test2创建界面如下 分别在不同命令中实现记录的添加 读取 更新和删除操作依次执行下列操作建库 添加记录更新记录添加记录删除记录读取记录关闭数据库

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报