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()取得記錄倉儲版本號碼