《Java 手机/PDA 程序设计入门》读书笔记11-- MIDP数据库设计1

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

JDBC针对桌面平台或企业用户设计,不适合移动通讯设备。

MIDP为的永久性数据储存提供了面向纪录的数据库(Record Orieted Database),称作“记录管理系统”

Record Management System(RMS)

所有和记录管理系统相关的类放于javax.microedition.rms包中,包括:

一个类:

RecordStore

四个接口:

RecorComparator

RecordEnumeration

RecordFilter

RecorListener

五个异常:

InvalidRecordIDException

RecordStoreException

RecordStoreFullException

RecordStoreNotFoundException

RecordStoreNotOpenException

一般的数据库管理系统存放表格(Table),

记录管理系统中存放记录仓储(Record Store)。

记录仓储全名(最多32个Unicode字符,区分大小写):

MIDlet Suite名称+供货商名称+记录仓储名称

实际设备上,一个MIDlet Suite全名:

MIDlet Suite名称+供货商名称+版本号码

即 MIDlet Suite-Name+MIDlet-Vendor+MIDlet-Version

如果把记录仓储想象成表格,那么这个表格只有两个字段(Column)

一个是Record ID,一个是Data

RecordStore类代表独一无二的记录仓储。我们用RecordStore类提供的openRecordStore()开启记录仓储,

这是一种静态工厂方法的设计模式。而不能通过new来建立一个RecordStore对象。

openRecordStore()构造函数

4参数:

记录仓储名称

布尔值,true表示开启的记录不存在是让系统建立一个新的数据仓储 false不存在时抛出RecordStoreNotFOundExecption异常

认证模式,接受:Record.AUTHMODE_PRIVATE--只有建立此记录仓储的MIDlet Suite才能存取这个记录仓储,

Record.AUTHMODE_ANY--该设备上的任何MIDlet都可以使用读取记录仓储。

布尔值,该设备上的其它MIDlet是否能够写入数据到这个记录仓储。

其它的MIDlet对记录仓储的读取:第三个参数决定读取权,第四个参数决定写入权

如果开启时,内存不敷使用,抛出RecordStoreFullException

3参数:

记录仓储名称

MIDlet Suite供货商名称

认证模式,Record.AUTHMODE_PRIVATE--建立记录仓储的MIDlet和当前调用它的MIDlet必须同属一个MIDlet Suite,

否则抛出SecurityException;Record.AUTHMODE_ANY--任何MIDlet都可以调用此方法。

2参数:

记录仓储名称

布尔值,true表示开启的记录不存在是让系统建立一个新的数据仓储 false不存在时抛出RecordStoreNotFOundExecption异常

setMode()方法来改变认证模式,以及其它MIDlet Suite中MIDlet的写入权

listRecordStores()取得当前MIDlet所在的MIDlet Suite中所有的记录仓储的名称

使用完记录仓储后,须用closeRecordStore()闭记录仓储,以释放系统资源,

所有RecordListener被清空,相关的RecordEnumeration。

如果已关闭,抛出RecordStroeNotOpenException。

deleteRecordStore()删除记录仓储。如果这个记录仓储正被占用,抛出RecordStoreNotFoundException

记录仓储的相关信息:

名字:记录仓储的名字

时间戳记-long类型:最后变动的时间(System.currentTimeMills()取得)

版本号码:初始为0,每更改一次加1

Next Record ID:初始为1,每加入一笔新记录加1

getLastModified()取得时间戳记

getName()取得记录仓储的名称

getNextRecordID()取得Next Record ID的值

getNumRecords()取得记录仓储中记录的笔数

getSize()取得记录仓储中所占据的空间

getSizeAvailable()剩下多上空间

getVersion()取得记录仓储版本号码

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有