《Java 手机/PDA 程序设计入门》读书笔记11-- MIDP数据库设计1
2008-01-05 08:48:06 来源:WEB开发网核心提示:JDBC针对桌面平台或企业用户设计,不适合移动通讯设备,《Java 手机/PDA 程序设计入门》读书笔记11-- MIDP数据库设计1,MIDP为的永久性数据储存提供了面向纪录的数据库(Record Orieted Database),称作“记录治理系统”Record Management Sy
JDBC针对桌面平台或企业用户设计,不适合移动通讯设备。
MIDP为的永久性数据储存提供了面向纪录的数据库(Record Orieted Database),称作“记录治理系统”Record Management System(RMS)
所有和记录治理系统相关的类放于javax.microedition.rms包中,包括:一个类:RecordStore四个接口:RecorComparatorRecordEnumerationRecordFilterRecorListener五个异常:InvalidRecordIDExceptionRecordStoreExceptionRecordStoreFullExceptionRecordStoreNotFoundExceptionRecordStoreNotOpenException
一般的数据库治理系统存放表格(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,每更改一次加1Next Record ID:初始为1,每加入一笔新记录加1
getLastModified()取得时间戳记getName()取得记录仓储的名称getNextRecordID()取得Next Record ID的值getNumRecords()取得记录仓储中记录的笔数getSize()取得记录仓储中所占据的空间getSizeAvailable()剩下多上空间getVersion()取得记录仓储版本号码
赞助商链接