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