(圖1)
我們可以用mvc的設計理念來設計這個框架。大致可分為以下幾個層次。
handler:處理網路請求,網路訊息分發,這個層面是最關鍵的,它會涉及到整體結構的每一層。
database:用來儲存少量資料,在j2me中,rms(record management system)是這個層次主要承擔者。每個手機可能對rms的大小支援不同,使這寶貴的儲存空間更加珍貴。handler會控制對database的儲存和提取,用來view層顯示。
model: 這個層次主要是根據程式需要建立的一些邏輯控制類。把資料封裝,建立公共介面等。比如一條訊息,可能會建立一種message型別來儲存在資料庫中。
view: 這層用來顯示使用者介面,並且響應和處理鍵盤的指令。將handler層指派的一些資訊顯示出來,並且將需求資訊送給handler去處理。所以這層直接於handler溝通,不會直接涉及到database或網路資訊。
(圖2)
當然在實際的應用開發中會更複雜一些。比如會有乙個session的東西來控制訊息的輪詢和網路連線。下面我通過乙個偽**來進一步說明這個模型。
/**view:display messsage, receive input*/
package view;
import.....
public class view extends canvas
public void commandaction(command c,displayable d)
}/**************************************/
/*handler:control network message*/
package handler;
import......
public class handler
}public void notfiydisplay()
public string getmessagecontent()
}/************************************/
/*message: a model indicate message object*/
package model;
import......
public class message
public string getcontent() }
/**********************************/
/*database: store bytes*/
package database;
import......
public database
public message getmessage()
}/***********************************/
複雜的應用還要處理多**內容,各種型別的連線方式,而且對於執行緒管理,網路連線都要求更高。值得注意的是,一般應用的**是可以復用的。這樣只要改一些view層的顯示,就可以適應不同的應用型別了。
j2me程式優化技巧
1 少用字串連線,多用stringbuffer 2 盡量用固定大小的陣列代替使用vector 3 如果可以不使用新class就能實現功能,就不要增加新的class,因為每個class都有一定的記憶體開銷 4 使用有限的物件導向,因為純粹的oo往往意味著更多的虛方法,更多的層次關係,更多的class ...
J2ME 關於移動的主頁推送對J2ME程式的影響
中國移動於5月17日推出費用提示頁面,其實早在5月15日測試j2me程式的時候就發現已經有頁面推送了。5月15日早上照常測試我的j2me聯網程式發現在模擬器一切正常,但是到了真機上卻得不到正確的資料,後來發現是第一次鏈結得到的資料流正是移動推送的頁面資料。經過試驗,其實得到第乙個頁面不用管它,繼續重...
j2me程式發布到手機
a.配置程式 jad 檔案 required microeidtion configuration 要和手機支援相符合,現在大部分都是1.1版 midlets name 遊戲名稱,icon 遊戲圖表,class 遊戲主入口 就 是midlet所在的類 配置上面兩點後儲存 b.發布程式 右擊應用,選擇...