《Java 手機/PDA 程序設計入門》讀書筆記11-- MIDP數據庫設計1

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章