探究J2ME記錄管理系統(tǒng)使用
本文向大家簡單介紹一下談談J2ME的功能,重點討論一下持久數(shù)據(jù)和記錄管理系統(tǒng)的使用,MIDP提供在移動設備上存儲持久數(shù)據(jù)的支持,并且MID簡表還特意規(guī)定兼容的移動設備必須提供至少8KB的非動態(tài)內(nèi)存用于數(shù)據(jù)存儲的用途,實事上,大多數(shù)的MIDPJava設備提供的空間比這要求多得多。
持久數(shù)據(jù)和記錄管理系統(tǒng)(RecordManagementSystem,簡稱RMS)
我在前面的文章中曾經(jīng)提到過,MIDP提供在移動設備上存儲持久數(shù)據(jù)的支持,并且MID簡表還特意規(guī)定兼容的移動設備必須提供至少8KB的非動態(tài)內(nèi)存用于數(shù)據(jù)存儲的用途,實事上,大多數(shù)的MIDPJava設備提供的空間比這要求多得多。這就允許一個midlet充份利用應用程序的持久數(shù)據(jù)。對于有Java2標準版開發(fā)經(jīng)驗的開發(fā)者,應該注意這種數(shù)據(jù)存儲能力與標準的Java有區(qū)別。J2ME記錄管理系統(tǒng)(RMS)允許數(shù)據(jù)流被儲存并且在一個記錄基礎上訪問數(shù)據(jù)。由應用程序開發(fā)者把每個記錄解析到字段水平。RMS程序包內(nèi)部的接口支持一個應用程序定義的基礎上的比較與檢索功能。
一、javax.microedition.rms程序包
通過javax.microedition.rms包訪問J2ME記錄管理系統(tǒng),這個包包括一個類,RecordStore,和好幾個有用的接口(在下列表格中描述):
這些接口對于實現(xiàn)自定義搜索和檢索功能很有用,這些接口中使用的最多的就是RecordEnumeration。這個接口從RecordStore.enumerateRecords()方法調(diào)用中返回并且被用于遍歷一組從記錄存儲器中返回的記錄。它包含nextRecord()、previousRecord()、numRecords()和hasNextElement()等方法。
二、使用RecordStore類訪問記錄存儲
RecordStore類是開發(fā)者開發(fā)基層RMS的接口,記錄儲存是在一個平臺--midlet環(huán)境依賴的方式--上創(chuàng)建的。信息的實際的位置和存儲細節(jié)應用程序開發(fā)者其實并不知道,記錄存儲可以使用一種簡單的命名規(guī)則來訪問:名稱最多可以到32個Unicode字符長度,區(qū)分大小寫和必須在一個midlet套件內(nèi)唯一。在一個midlet套件內(nèi)的所有midlet都有讀/寫一個記錄存儲的權限,只要它們知道正確的名稱。一旦這個midlet套件被從該設備上刪除,所有與這個套件關聯(lián)的記錄存儲也將被刪除。
比如說,為了打開一個名為TestRecordSet的記錄存儲,你可以調(diào)用RecordStore.openRecordStore()方法。這個方法使用兩個參數(shù):一個字符串,表示記錄存儲的名稱;一個布爾值,如果為真的話,就會在紀錄存儲不存在時創(chuàng)建一個。我們使下列方法調(diào)用創(chuàng)建新的TestRecordSet記錄存儲:
- RecordStorers=null;
- rs=RecordStore.openRecordStore("TestRecordSet",true);
記錄存儲被創(chuàng)建好后,我們可以通過調(diào)用RecordStore.addRecord()方法來向這個記錄存儲添加數(shù)據(jù)。addRecord()接受三個參數(shù):
一旦成功完成addRecord()調(diào)用,這個方法就返回一個整數(shù)指定這個記錄在記錄存儲中的標識號。RecordStore還規(guī)定另外一個數(shù)據(jù)編輯方法,包括setRecord()和deleteRecord(),但是我在例子中不會使用它們。
在MID簡表中包含網(wǎng)絡功能是有前瞻性的,使J2ME成為未來無線電應用開發(fā)的領導。這個功能將是人工智能技術的基礎,使J2ME成為未來技術的基石(例如,你可以使用HTTPConnection接口和XML分析器構造一個WML瀏覽器)。事實上,象kXML這樣的XML分析器將允許J2ME客戶端支持SOAP、XML-RPC和其他基于XML的分布技術。
【編輯推薦】
- 探討J2ME/J2EE的JSON數(shù)據(jù)交換方式
- 深入了解J2ME Polish+Eclipse配置過程
- 剖析J2ME 3D編程的第一個3D程序
- Eclipse中進行JVM內(nèi)存設置
- 解析Linux下如何用eclipse搭建J2ME開發(fā)環(huán)境



















