J2ME應用程式架構模型

2021-04-13 02:25:05 字數 1502 閱讀 9359

(圖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.發布程式 右擊應用,選擇...