国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在RMS中存儲和讀取數據

2019-11-18 15:02:54
字體:
來源:轉載
供稿:網友

■ 引言

  在上講中,我們熟悉到汲取音樂播放的專長,能夠制作成擁有BGM和音效、表現力豐富的應用程序。在本講中,我們主要就應用程序本身內部保持的數據保存、讀取進行具體闡述。

■ 數據的保存讀取

  RMS:

  要在應用程序中保存用戶設定和高分等相關信息,所以必須在手機終端上的記憶中保存數據。MIDP上定義了稱之為RMS(Record Management System)的數據庫系統。RMS中有稱為“Record store”的列表,其中存在名為Record 的entry。Record按照字節排列,用id可以識別。利用下面的類、接口可以操作Record Store和Record。

 類、接口名 作用 RecordStore 表示Record Store的類 RecordEnumeration列舉Record的接口 RecordComparator定義Record comparator的接口 RecordFilter定義Record過濾的接口 RecordListener監視Record Store變更的接口

表 1

  RecordStore

  表示Record Store的是Record Store類。Record Store是用RecordStore 中的static方法的open Record Store制作的。

  RecordStore.openRecordStore("RecordStoreName", true);

  第2個自變量轉化成“true”后,名為“Record Store Name”的Record Store存在的情況下,能夠打開保存的Record Store。但是,名為“Record Store Name”的Record Store不存在的情況下,則會制作新的Record Store,并打開所制作的Record Store 。

  第2個自變量轉化成“false”后,名為“Record Store Name”的Record Store存在的情況下,能夠打開保存的Record Store。但,不存在的情況下,則放棄Record Store Not Found Exception。
操作Record Store時,應該在操作前打開Record Store,并在操作完后關閉Record Store。利用剛剛介紹的Record Store的static方法——open Record Store打開Record Store。利用Record Store的引證方法的close Record Store按照下面的敘述可以關閉Record Store。在這兒將關閉的Record Store 例子表示為rs。

  rs.closeRecordStore();

  以下是表示針對 Record Store 的連貫操作。(ex. 1)

RecordStore rs = null;
try{
    // 打開Record Store
    rs = RecordStore.openRecordStore("RecordStoreName",true);

    記述針對Record Store的操作
    ?
    ?

}catch(Exception e){
}finally{
    if(rs != null){
        try{
            // 關閉Record Store
            rs.closeRecordStore();
        }catch(Exception e){
        }
    }
}

ex. 1

  按照下面所述的Record Store的static方法清除Record Store。
  RecordStore.deleteRecordStore("RecordStoreName");

  RMS的限制

  RMS是非常單純的數據庫系統,所以只需預備最小限度的操作。因此,一般數據庫系統所具有的處理控制和系統故障的恢復功能,在RMS上是不能被支持的。

  Record操作

    增加Record

    利用以下Record Store類的方法增加Record 。

    int addRecord(byte[] data,int offset, int numBytes)

    在data中指定希望保存的數據字節排列、在offset中指定數據顯示排列中的數據開始位置、在numBytes中指定保存數據的字節數。能在numBytes中指定0。此時,null被收藏在Record中。另外,增加數據的Record的id作為返還值返還。

    清除Record

    利用以下方法清除Record 。

    void deleteRecord(int recordId)

    指定用recordId清除Record中的id。對應的Record不存在的情況下,放棄例外。而且,清除后的RecordrecordId也不能再次利用。

    更改Record

    利用以下方法更改Record 。

    void setRecord(int recordId, byte[] newData, int offSet, int numBytes)

    指定recordId中更改的Record,并在newData中指定新收藏的數據字節排列。對應的Record不存在的情況下,放棄例外。

    獲取Record

    利用下面的方法獲取Record。

    int getRecord(int recordId, byte[] buffer, int offset)

    byte[] getRecord(int recordId)

    上述方法是指,從offset的位置上復制recordId方法指定的Record內容到buffer字節排列。返還值是所復制的數據的字節數。

    下面的方法是指,recordId所指定的Record內容作為返還值返還。

  Record Store的信息

  利用如下方法可以獲得Record Store操作和Record 操作之外的Record Store信息。

 方法 功能 public int getLastModified() 用long獲取最后的修改時刻。用System.currentTimeMillis()形成能夠取得的形式相同的形式。 public int getNextRecordID()獲取下一個recordId public int getNumRecords()獲取Record Store中的Record 數。 public int getVersion()獲取Record Store的版本編號。版本編號通常在每次修改完Record Store后都會自動加1。 public int getSizeAvailable()獲取Record Store的容許量。 public int getSize()獲取Record Store的占有字節數。 public static String[] listRecordStores()全部獲取Record Store名。

表 2



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永登县| 玛纳斯县| 大理市| 汉源县| 酒泉市| 额尔古纳市| 永胜县| 宿松县| 曲松县| 临海市| 图们市| 三亚市| 鄂托克旗| 桂平市| 弋阳县| 呼伦贝尔市| 工布江达县| 西藏| 连平县| 武功县| 科技| 阜南县| 襄垣县| 铁力市| 深泽县| 罗甸县| 台江县| 建阳市| 鲁甸县| 泰兴市| 万山特区| 凉城县| 普兰县| 周至县| 汉源县| 大姚县| 海盐县| 承德县| 钦州市| 阿克陶县| 山东省|