成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實(shí)戰(zhàn)J2ME中RMS開發(fā)

移動(dòng)開發(fā) 后端
本文將介紹RMS的實(shí)戰(zhàn)開發(fā),介紹筆者開源的小型數(shù)據(jù)庫引擎,RMS-記錄管理系統(tǒng),J2ME的一個(gè)小型,簡(jiǎn)單的存儲(chǔ)解決方案。

RMS 提供常用的方法:打開存儲(chǔ)表,J2ME提供了統(tǒng)計(jì)的靜態(tài)方法處理打開表的操作。

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

recordStoreName -- 需要打開的表名

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

Authmode -- 訪問的方法權(quán)限

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

刪除存儲(chǔ)表:

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

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

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

添加,RMS只支持添加二進(jìn)制的數(shù)據(jù),一般采用DataOutputStream的方式進(jìn)行序列化。

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

data -- 保存數(shù)據(jù)

offset -- 起始索引

numBytes -- 長(zhǎng)度

刪除

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

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

 

編輯,更新

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

更新指定索引的記錄。

一般的添加記錄的方式:

1.構(gòu)建一個(gè)DataOutputStream流進(jìn)行寫操作,然轉(zhuǎn)換成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操作就是如此簡(jiǎn)單。

注意問題

注意對(duì)RMS容量的控制。

不建議直接刪除表,應(yīng)該逐條刪除記錄,然后再刪除表。

實(shí)戰(zhàn)Demo

筆者采用RMS寫的簡(jiǎn)單數(shù)據(jù)庫引擎。

次引擎支持:

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

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

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

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

程序功能

1.添加聯(lián)系人包括聯(lián)系資料是: 姓名, 手機(jī), email, 地址.

2.修改聯(lián)系人資料.

3.查詢聯(lián)系人資料,

4.刪除聯(lián)系人.
 

項(xiàng)目設(shè)計(jì)

1.采用本人寫的簡(jiǎn)單的rms數(shù)據(jù)引擎. 也算是一個(gè)比較豐富的例子供大家學(xué)習(xí)交流

2.采用高級(jí)UI展示.

3.整體架構(gòu)采用Web常用的方式MVC結(jié)構(gòu),充分展示j2me設(shè)計(jì)也可以很靈活.并且在性能方面的問題不大

這里介紹幾個(gè)系統(tǒng)核心接口:

ResultSet --- 對(duì)數(shù)據(jù)操作的結(jié)構(gòu)集, 比如查詢的時(shí)候?qū)⒎祷匾粋€(gè)可用的結(jié)構(gòu).里面的用法跟JDBC差不多.

Query --- 對(duì)本人自定義的sql進(jìn)行執(zhí)行,執(zhí)行返回ResultSet結(jié)構(gòu)

DataBaseServer --- 對(duì)RMS引擎的啟動(dòng),關(guān)閉.資源處理,擺脫直接操作RMS各個(gè)異常的困擾

QueryBuilder --- 靜態(tài)工廠類,通過sql創(chuàng)建一個(gè)Query實(shí)例.

關(guān)于自定義SQL語法設(shè)計(jì)

比如創(chuàng)建表格語法是

create :friend: f_name :f_mobile :f_email :f_address

插入數(shù)據(jù)是:

  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. 操作數(shù)據(jù)

insert table_name column_1 ..... 對(duì)于這個(gè)操作,然后具體在api調(diào)用setString(index, value)

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

select table_name f_id=1;

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

關(guān)于作者

饒榮慶

從事J2ME,Android開發(fā)工作多年,現(xiàn)在就職于UCWEB。從事瀏覽器相關(guān)的開發(fā)工作。

【編輯推薦】

  1. J2EE開發(fā)框架發(fā)展簡(jiǎn)史續(xù)
  2. 為什么J2EE如此低效--用戶無法參與開發(fā)
  3. js及j2ee開發(fā)中解決亂碼的小方法
  4. 淺談J2EE開發(fā)技術(shù)
  5. J2EE的核心技術(shù)之JDBC簡(jiǎn)介篇
責(zé)任編輯:彭凡 來源: IT168
相關(guān)推薦

2010-09-29 09:19:39

J2ME開發(fā)工具

2010-09-29 08:57:04

J2ME前景

2010-09-29 09:13:48

J2ME開發(fā)環(huán)境

2010-09-30 12:53:00

J2MECSS

2011-12-02 10:37:14

JavaJ2ME

2010-09-29 09:28:59

J2ME開發(fā)環(huán)境

2010-09-29 09:54:09

J2ME應(yīng)用程序

2010-09-30 13:06:33

Myeclipse J

2010-10-09 16:13:10

J2ME應(yīng)用程序

2009-07-14 18:03:43

Myeclipse J

2010-09-29 15:35:04

Item類J2ME

2009-06-30 15:49:00

J2ME編程

2010-09-29 15:45:49

J2MEFontColor

2010-09-30 08:49:17

cookieJ2ME

2010-09-30 13:11:59

J2MECanvas

2009-06-17 11:27:00

setClip方法J2ME

2010-09-30 13:28:55

J2ME圖形

2009-03-22 09:38:03

Android移植J2ME

2010-09-30 09:56:26

J2ME Polish

2009-10-19 13:59:39

J2ME編程開發(fā)平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩精品一区二区三区中文字幕 | 欧美一区二区三区在线观看 | 成人免费在线播放 | 羞羞涩涩在线观看 | 黄片毛片免费观看 | 日韩欧美精品 | 日本一区二区不卡 | 在线观看视频h | 日本视频免费 | 99色视频| 亚洲成人中文字幕 | 久久夜色精品国产 | 久久久久久久一区二区三区 | 天天操人人干 | 亚洲精品自拍视频 | 一区二区福利视频 | 国产a一区二区 | 亚洲不卡在线观看 | 日本三级精品 | 精品无码三级在线观看视频 | 天堂免费看片 | 欧美日韩中文在线 | 国产精品久久久久久久 | 人人看人人射 | 97福利在线 | 久久久久久久久久久久久9999 | 成人欧美一区二区三区在线播放 | 全免费a级毛片免费看视频免 | 亚洲一区久久 | 国产亚洲一区二区三区 | 国产成人久久 | 久久一二 | 国产一区欧美 | 完全免费av在线 | 午夜精品一区二区三区在线视 | h在线免费观看 | 国产一区二区三区日韩 | 成人不卡 | 久久久久久久久蜜桃 | 国产美女久久 | 中文字幕日韩在线观看 |