程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 實戰J2ME中RMS開發

實戰J2ME中RMS開發

編輯:J2ME

RMS 提供常用的方法:打開存儲表,J2ME提供了統計的靜態方法處理打開表的操作。

  1. public static RecordStore openRecordStore(String recordStoreName,
  2. boolean createIfNecessary,
  3. int authmode,
  4. boolean writable)
  5. throws RecordStoreException, RecordStoreFullException,
  6. RecordStoreNotFoundException

recordStoreName -- 需要打開的表名

createIfNecessary -- 如果存在就打開,如果不存在就創建,假如ture的情況,fasle則只打開存在的表

Authmode -- 訪問的方法權限

Writable -- 是否允許外部MIDlet套件訪問,如果表存在,此參數是可忽略的。

刪除存儲表:

  1. public static void deleteRecordStore(String recordStoreName)
  2. throws RecordStoreException, RecordStoreNotFoundException

刪除表格,recordStoreName-為指定的表格名稱,如果表格正在打開,或者不存在都會拋出異常。

RMS,最常用的操作是添加,編輯,刪除,更新記錄。

添加,RMS只支持添加二進制的數據,一般采用DataOutputStream的方式進行序列化。

  1. public int addRecord(byte[] data, int offset, int numBytes)
  2. throws RecordStoreNotOpenException, RecordStoreException,
  3. RecordStoreFullException

data -- 保存數據

offset -- 起始索引

numBytes -- 長度

刪除

  1. public void deleteRecord(int recordId)
  2.  throws RecordStoreNotOpenException, InvalidRecordIDException,
  3. RecordStoreException

recordId -- 記錄的索引,一般采用遍歷的方式獲取索引,或者通過addRecord也可以返回對於的索引。

編輯,更新

  1. public void setRecord(int recordId, byte[] newData,
  2.  int offset, int numBytes)

更新指定索引的記錄。

一般的添加記錄的方式:

1.構建一個DataOutputStream流進行寫操作,然轉換成byte[] 寫入RMS中。

2.示例

  1. ByteArrayOutputStream sBout = new ByteArrayOutputStream();
  2. DataOutputStream sDout = new DataOutputStream(sBout);
  3. sDout.wirteInt();
  4. sDout.writeUTF();
  5. ....................
  6. sBout.toByte() .
  7. Svae(byte);

RMS操作就是如此簡單。

注意問題

注意對RMS容量的控制。

不建議直接刪除表,應該逐條刪除記錄,然後再刪除表。

實戰Demo

筆者采用RMS寫的簡單數據庫引擎。

次引擎支持:

1,添加,刪除,編輯,遍歷,查詢記錄。

采用的是類SQL方式。比如你可以crate table,delete table,insert, select等方式操作記錄。
具體內部實現方式這裡就不一一闡述了,有興趣的讀者可以自行研究代碼。

下載地址: http://wuhua.Javaeye.com/blog/54528

4.電話本案例
本案例只是介紹筆者RMS引擎的用法,有相當部分的功能未能在這裡闡述,有興趣的讀者可以自行自行研究代碼。

程序功能

1.添加聯系人包括聯系資料是: 姓名, 手機, email, 地址.

2.修改聯系人資料.

3.查詢聯系人資料,

4.刪除聯系人.

項目設計

1.采用本人寫的簡單的rms數據引擎. 也算是一個比較豐富的例子供大家學習交流

2.采用高級UI展示.

3.整體架構采用Web常用的方式MVC結構,充分展示J2ME設計也可以很靈活.並且在性能方面的問題不大

這裡介紹幾個系統核心接口:

ResultSet --- 對數據操作的結構集, 比如查詢的時候將返回一個可用的結構.裡面的用法跟JDBC差不多.

Query --- 對本人自定義的sql進行執行,執行返回ResultSet結構

DataBaseServer --- 對RMS引擎的啟動,關閉.資源處理,擺脫直接操作RMS各個異常的困擾

QueryBuilder --- 靜態工廠類,通過sql創建一個Query實例.

關於自定義SQL語法設計

比如創建表格語法是

create :frIEnd: f_name :f_mobile :f_email :f_address

插入數據是:

  1. Query q = QueryBuilder.builder("insert :frIEnd :f_name :f_mobile :f_email: f_address ");
  2. q.setString("f_name",frIEnd.getName() );
  3. q.setString("f_mobile", frIEnd.getPhone());
  4. q.setString("f_email", frIEnd.getEmail());
  5. q.setString("f_address", frIEnd.getAddress());
  6. q.execute();

1. 添加表格

  1. create table_name column_1 column_2 column_3 ......
  2. drop table_name

2. 操作數據

insert table_name column_1 ..... 對於這個操作,然後具體在api調用setString(index, value)

update table_name set ..... where column_1 = key;

select table_name f_id=1;

源代碼下載:http://rongqing.rao.googlepages.com/PhotoBook.rar

關於作者

饒榮慶

從事J2ME,android開發工作多年,現在就職於UCWEB。從事浏覽器相關的開發工作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved