分享
 
 
 

J2ME学习笔记(五)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

一开始谈事务处理肯定就以为各式各样不同的概念,java基类的继承等东西。所以感觉很是枯燥。以

前学java的时候一谈事务处理我就头痛。呵呵。

呵呵,开始研究一下MIDlet的事务处理咯。其实以前也没有写过Applet,但是Servlet倒是写得多,

毕竟MVC里面servlet所占地位也算重要。任何一个servlet都必须要继承javax.servlet.http.HttpServle

t类,其实作为一个MIDlet而言也是一个概念,所有的MIDlet都必须继承javax.microedition.midlet.MID

let。说白了也就是继承了startApp(),pauseApp(),destoryApp()这三个方法。

当一个MIDlet成功开始运行的以后也就开始了它的生命周期,这个生命周期完全有JPM控制。MIDlet

状态转变发生意外的时候便会抛出MIDletStateChangeException。

整个MIDP规格中,事务处理分为高级事务处理以及低级事务处理。低级事务处理根据不同的手持设备

会有不同的类库支持,而高级事务处理则无此限制。也就是说,如果我们做的MIDlet想要在不同的机器上

都能运行我们就不能调用低级事务处理中的方法,而只能使用高级事务处理中的方法。

整个MIDP中,事务处理是由 事务<->处理方法 的一个组合形成的。

MIDP所有具有显示能力的元件都继承于Displayable抽象类,它又衍生出了Screen(处理高级事务处

理)与Canvas(处理低级事务处理)。MIDP中高级事务处理有两个接口,分别是CommandListener以及Ite

mStateListener。CommandListener接口经常与javax.microedition.lcdui中的Command类一起使用。可以

看如下例子:

/**

* @author You Li

*

* CopyRight (C) 2005

*/

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class HLEventMIDlet extends MIDlet implements CommandListener{

private Command exitCommand;

private Command info1Command;

private Command info2Command;

private Display display;

public HLEventMIDlet(){

display = Display.getDisplay(this);

exitCommand = new Command("退出", Command.SCREEN,1);//后面数字越小,优先级别

越高

info1Command = new Command("菜单1", Command.SCREEN,2);

info2Command = new Command("菜单2", Command.SCREEN,2);

}

public void startApp(){

TextBox t = new TextBox("Hello", "测试一下^_^",256, 0);

t.setCommandListener(this);

t.addCommand(exitCommand);

t.addCommand(info2Command);

t.addCommand(info1Command);

display.setCurrent(t);

}

public void pauseApp(){

}

public void destroyApp(boolean unconditional){

}

public void commandAction(Command c, Displayable s)

{

if (c == exitCommand) {

notifyDestroyed();

}else if (c == info1Command){

notifyDestroyed();

}

}

}

运行以后就会发现已经有了一个可以供选择的一个简单菜单了!^_^Command一共定义了8个命令,优

先级别如下从高到低:Command.BACK

Command.CANCEL Command.EXIT Command.HELP Command.ITEM Command.OK Command.SCREEN

Command.STOP 。呵呵,我觉得这么说都没有什么用,写一点点代码就都清楚了。。^_^

CommandListener采用了Unicast模式,所以同一时间那只能相应一个事务处理方法。

然后欣赏哈子ItemStateListener接口好了。同CommadnListener一样,它也采用了Unicast模式。

搞个列子先:

/**

* @author You Li

*

* CopyRight (C) 2005

*/

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class TFEventMIDlet extends MIDlet implements ItemStateListener {

/**

*

*/

private Display display;

public TFEventMIDlet(){

display = Display.getDisplay(this);

}

public void startApp()

{

Form f = new Form("Form") ;

TextField tf = new

TextField("Input","Origin",25,TextField.ANY) ;

f.append(tf) ;

f.setItemStateListener(this) ;

display.setCurrent(f) ;

}

public void pauseApp(){

}

public void destroyApp(boolean unconditional){

}

public void itemStateChanged(Item item){

TextField tmp = (TextField) item ;

tmp.setString("Changed") ;

}

}

关于这两个接口的具体使用方法我想也没有必须都写出来,根据接口所需要继承下来的类一看我想也

都差不多了。。呵呵,命名还是很规范的。

根据MIDP的规范,如果CommandListener和ItemStateListener同时处理,itemStateChanged()优先于comm

andAction()处理。

高级事务处理十分的简单,但是功能并不能真正的达到我们进行开发的需求。所以这个时候我们就要

借助于低级事务处理了。

俺今天不想看了。。比较累,呵呵,所以低级事务处理明天晚上研究好了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有