亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

Java嵌入式開發(2)

2019-11-18 10:48:23
字體:
來源:轉載
供稿:網友

  談談J2ME的幾個重要的功能
  持久數據和記錄治理系統( Record Management System,簡稱 RMS)
  我在前面的文章中曾經提到過, MIDP提供在移動設備上存儲持久數據的支持,并且 MID簡表還特意規定兼容的移動設備必須提供至少 8KB的非動態內存用于數據存儲的用途,時式上,大多數的 MIDP java設備提供的空間比這要求多得多。這就答應一個midlet充份利用應用程序的持久數據。對于有 Java 2標準版開發經驗的開發者,應該注重這種數據存儲能力與標準的 Java有區別。J2ME記錄治理系統 ( RMS )答應數據流被儲存并且在一個記錄基礎上訪問數據。由應用程序開發者把每個記錄解析到字段水平。RMS程序包內部的接口支持一個應用程序定義的基礎上的比較與檢索功能。
  一、javax.microedition.rms程序包
  通過 javax.microedition.rms包訪問 J2ME記錄治理系統,這個包包括一個類, RecordStore,和好幾個有用的接口 (在下列表格中描述 ):
  接口 描述
  RecordComparator 一個接口,定義一個比較機制,比較兩個記錄(以一個實現定義的方式)看它們是否匹配或它們的相對排序次序是什么樣的。
  RecordEnumeration 一個接口,一個雙向的紀錄模擬器
  RecordFilter 一個接口,定義了一個過濾器用于檢查一個記錄,看其是否匹配 (基于一種應用程序定義的標準 )。
  RecordListener 一個監聽者接口,從一個記錄存儲器中接受記錄更改/添加/刪除事件。
  這些接口對于實現自定義搜索和檢索功能很有用,這些接口中使用的最多的就是 RecordEnumeration。這個接口從 RecordStore.enumerateRecords()方法調用中返回并且被用于遍歷一組從記錄存儲器中返回的記錄。它包含 nextRecord()、 PReviousRecord()、 numRecords()和 hasNextElement()等方法。
  二、使用RecordStore類訪問記錄存儲
  RecordStore類是開發者開發基層 RMS的接口,記錄儲存是在一個平臺--midlet環境依靠的方式--上創建的。信息的實際的位置和存儲細節應用程序開發者其實并不知道,記錄存儲可以使用一種簡單的命名規則來訪問:名稱最多可以到32個Unicode字符長度,區分大小寫和必須在一個 midlet套件內唯一。在一個 midlet套件內的所有 midlet都有讀/寫一個記錄存儲的權限,只要它們知道正確的名稱。一旦這個 midlet套件被從該設備上刪除,所有與這個套件關聯的記錄存儲也將被刪除。
  比如說,為了打開一個名為 TestRecordSet的記錄存儲,你可以調用 RecordStore.openRecordStore()方法。這個方法使用兩個參數:一個字符串,表示記錄存儲的名稱;一個布爾值,假如為真的話,就會在紀錄存儲不存在時創建一個。我們使下列方法調用創建新的 TestRecordSet記錄存儲:
  RecordStore rs = null;
  rs = RecordStore.openRecordStore("TestRecordSet", true);
  記錄存儲被創建好后,我們可以通過調用 RecordStore.addRecord()方法來向這個記錄存儲添加數據。addRecord()接受三個參數:
  參數 描述
  byte[] data 一個儲存在記錄中的字節數據數組,通過 java.io.ByteArrayOutputStream和 java.io.DataOutputStream類把數據添加到這個字節數組。
  int offset 進入這個記錄第一個關聯字節數據緩沖區的索引。
  int numBytes 用于記錄的數據緩沖區的字節數
  一旦成功完成 addRecord()調用 ,這個方法就返回一個整數指定這個記錄在記錄存儲中的標識號。 RecordStore還規定另外一個數據編輯方法,包括 setRecord()和 deleteRecord(),但是我在例子中不會使用它們。
  三、構建一個用于J2ME設備的通訊錄
  這個例子構造一個基本的通訊錄應用程序,使用它用戶就可以從一個移動設備上查看聯絡資料?,F在我只介紹從本地設備中存儲的數據中讀出相關的聯絡資料,在本文稍后的部分,你將看到如何使用J2ME網絡功能從一個 Web服務器取回數據文件!用戶將能查看一個地址列表和從這個列表選擇一個地址。為了實現這個目標,我們要創建兩個類,從用戶界面邏輯中把數據存取邏輯分開的: AddressDB類封裝所有的 RMS代碼; AddressBookMIDLet類封裝 GUI代碼。AddressDB類的代碼如下:
  import javax.microedition.rms.*;import java.io.ByteArrayInputStream;
  import java.io.ByteArrayOutputStream;
  import java.io.DataInputStream;
  import java.io.DataOutputStream;
  import java.io.EOFException;
  import java.io.IOException;
  public class AddressDB {
  private static RecordStore rs = null;
  public AddressDB() {
  try {
  rs = RecordStore.openRecordStore("addressbook", true);
  }
  catch (RecordStoreException e) {
  System.out.println(e);
  e.printStackTrace();
  }
  }
  public void addAddress(String Name, String Address) {
  ByteArrayOutputStream os = new ByteArrayOutputStream();
  DataOutputStream output = new DataOutputStream(os);
  try {
  output.writeUTF(Name + "," + Address);
  }
  catch (IOException e) {
  System.out.println(e);
  e.printStackTrace();
  }
  byte[] b = os.toByteArray();
  try {
  rs.addRecord(b, 0, b.length);
  }
  catch (RecordStoreException e) {
  System.out.println(e);
  e.printStackTrace();
  }
  }
  public static String getName(int index) {
  int counter = 1;
  int commalocation = 0;
  String name = null;
  try {
  RecordEnumeration enumRec =
  rs.enumerateRecords(null, null, false);
  while ((counter <= index) && (enumRec.hasNextElement())) {
  String strTemp = new String(enumRec.nextRecord());
  commalocation = strTemp.indexOf(',');
  name = strTemp.substring(2, commalocation);
  counter++;
  }
  }
  catch (Exception e) {
  System.out.println(e);
  e.printStackTrace();
  }
  return name;
  }
  public static String getAddress(int index) {
  int counter = 1;
  int commalocation = 0;
  String address = null;
  try {
  RecordEnumeration enumRec =
  rs.enumerateRecords(null, null, false);
  while ((counter <= index) && (enumRec.hasNextElement())) {
  String strTemp = new String(enumRec.nextRecord());
  commalocation = strTemp.indexOf(',');
  address = strTemp.substring(commalocation + 1);
  counter++;
  }
  }
  catch (Exception e) {
  System.out.println(e);
  e.printStackTrace();
  }
  return address;
  }
  public static int recordCount() {
  int count = 0;
  try {
  count = rs.getNumRecords();
  }
  catch (Exception e) {
  System.out.println(e);
  e.printStackTrace();
  }
  return count;
  }
  }
  
  
    AddressDB類包含好幾個 public訪問方法,它們都對來自外部調用者的訪問隱藏記錄存儲的細節。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美一区二区三区久久| 国产美女扒开尿口久久久| 日韩免费在线视频| 日韩av在线免费观看一区| 亚洲一区精品电影| 成人h片在线播放免费网站| 午夜欧美不卡精品aaaaa| 日韩国产高清污视频在线观看| 欧美与黑人午夜性猛交久久久| 久久精品国产欧美亚洲人人爽| 亚洲激情电影中文字幕| 国产一区二区三区在线视频| 亚洲国产精品大全| 欧美国产日本在线| 精品中文字幕乱| 欧美巨猛xxxx猛交黑人97人| 亚洲国产精品国自产拍av秋霞| 欧美激情亚洲精品| 精品久久香蕉国产线看观看亚洲| 91大神在线播放精品| 亚洲成人三级在线| 国产精品久久99久久| 国产精品99久久久久久人| 国产精品劲爆视频| 色av吧综合网| 亚洲欧美制服另类日韩| 成人午夜黄色影院| 国产精品一二三在线| 久久久久久亚洲精品中文字幕| 在线日韩欧美视频| 亚洲一区二区久久| 亚洲精品影视在线观看| 日韩精品高清在线| 欧美日韩国产精品一区二区三区四区| 久久久久999| 欧美激情一级二级| 欧美精品videosex极品1| 最近2019免费中文字幕视频三| 美女av一区二区| 尤物九九久久国产精品的特点| 国产亚洲精品一区二区| 久久成人18免费网站| 国产精品免费电影| 久久免费观看视频| 亚洲欧洲日产国产网站| 国产精品专区h在线观看| 国产精品免费在线免费| 久久久久久综合网天天| 久久久爽爽爽美女图片| 欧美国产精品人人做人人爱| 久久久久久久久国产| 欧美理论电影在线播放| 色偷偷av亚洲男人的天堂| www国产精品com| 久久久久中文字幕| 欧美电影在线观看高清| 欧美xxxx18性欧美| 欧美特黄级在线| 亚洲色图狂野欧美| 中文字幕亚洲一区二区三区| 亚洲精品suv精品一区二区| 操日韩av在线电影| 国产ts一区二区| 日韩在线观看免费高清完整版| www.欧美免费| 国产精选久久久久久| 欧美一区二区三区免费观看| 粉嫩av一区二区三区免费野| 黑人精品xxx一区| 精品国产拍在线观看| 亚洲欧美另类中文字幕| 国产精品久久77777| 日韩美女视频中文字幕| 亚洲自拍偷拍网址| 精品视频在线播放色网色视频| 欧美xxxx18性欧美| 欧美在线中文字幕| 国产精品美女av| 日韩在线观看免费网站| 久久精品国产精品亚洲| 欧美一级免费视频| 欧美一级电影在线| 亚洲欧美日韩天堂| 一本一道久久a久久精品逆3p| 97精品国产97久久久久久| 中文字幕欧美精品日韩中文字幕| 在线播放日韩欧美| 蜜臀久久99精品久久久无需会员| 亚洲国产精品国自产拍av秋霞| 亚洲国产精品电影| 中文字幕在线精品| 欧美极品少妇全裸体| 欧美有码在线观看视频| 国产一区二区三区视频| 不卡av在线网站| 精品中文字幕在线| 91超碰中文字幕久久精品| 亚洲第一中文字幕在线观看| 成人精品网站在线观看| 日韩av在线天堂网| 高跟丝袜一区二区三区| 欧美性感美女h网站在线观看免费| 亚洲自拍偷拍视频| 日韩欧美国产网站| 91精品国产色综合久久不卡98| 日韩小视频在线| 久久久国产精品亚洲一区| 久久久久久久久电影| 日韩中文字幕网站| 全球成人中文在线| 91精品国产高清久久久久久91| 欧美在线视频一区二区| 7m精品福利视频导航| 日韩欧美中文免费| 亚洲欧洲在线视频| 国产精品久久久久久久久久小说| 日韩中文字幕在线精品| 欧美国产日韩xxxxx| 欧美在线激情网| 国产一区二区三区在线播放免费观看| 一区二区三区四区在线观看视频| 亚洲一区国产精品| 欧美极品少妇全裸体| 日韩在线免费高清视频| 精品久久久999| 一区二区在线视频播放| 国产精品成人一区二区三区吃奶| 国产精品主播视频| 成人黄色片网站| 亚洲乱码国产乱码精品精天堂| 亚洲二区中文字幕| 久久精品国产91精品亚洲| 国产91露脸中文字幕在线| 国产成人精品久久| 亚洲高清一二三区| 亚洲尤物视频网| 亚洲第一天堂无码专区| 精品国产户外野外| 国产一区二区三区精品久久久| 中文欧美日本在线资源| 国产午夜精品一区二区三区| 国产福利视频一区二区| 国产精品久久久久久亚洲影视| 国外成人在线视频| 精品久久香蕉国产线看观看gif| 国产精品一区av| 国产亚洲综合久久| 亚洲视频在线视频| 精品人伦一区二区三区蜜桃免费| 不卡在线观看电视剧完整版| 国模精品系列视频| 欧美日韩中文字幕| 亚洲精品日韩在线| 欧美精品电影免费在线观看| 亚洲精品美女久久| 欧美激情欧美激情| 欧美特黄级在线| 中文字幕v亚洲ⅴv天堂| 欧美激情精品久久久久久变态| 日本国产高清不卡| 国产精品中文字幕久久久| 国内免费久久久久久久久久久| 欧美午夜激情在线| 国产精品高潮呻吟久久av无限|