您的位置:首页 > 其它

j2me框架教程(2)

2007-08-30 13:14 169 查看
一 功能模块代码说明
1 Example类

package com.example.test;

import javax.microedition.lcdui.Image;
import com.frame.application.Application;
import com.frame.application.DisplayFactory;
import com.frame.util.ResUtil;
import com.frame.util.XmlUtil;
import com.frame.display.DisplayManager;

public class Example extends Application {
public Example() {
super();
}
public String getName() {
return "j2me框架演示程序1";
}
public Image getAppIcon() {
ResUtil.baseDir = "/example/";
return ResUtil.getStaticImage("ex1.png");
}
public void doApplication() {
XmlUtil.initXmlFile("/example/Index.xml");
DisplayManager.getCurrent().setDisplay(
DisplayFactory.getDisplayable("Index"));
}
public void register() {
}
public void initialize(boolean isFirst) {
}
public void finalizeApp() {
}
public String getHelpString() {
return "j2me框架演示程序 /n Author:feiya Date:2007-8-28";
}
public void doSearch() {
}
public boolean supportSearch() {
return false;
}
public void doSysManager() {
}
public boolean supportSysManager() {
return false;
}
public boolean supportHelp() {
return true;
}
public boolean supportParserXml() {
return false;
}
}
Application是个抽象类,它定义几个重要的抽象方法,比如doApplication(),register(),initialize(boolean isFirst),我们的子类可以通过重写这些方法来实现功能模块的业务逻辑。
下面详细介绍各个方法的作用:
1) getName() 返回这个功能模块的名称
2) getAppIcon() 返回一个图标。当这个功能模块加入到主程序后,会在首页面显示这个图标。
3) doApplication()当这个功能模块加入到主程序后,点击该模块图标会调用这个方法。
4) register() 将在这个功能模块中定义的XML TYPE类型注册到框架中。
5)initialize(boolean isFirst) 模块的初始化工作,比如读取资源文件等。isFirst为TRUE时,表示该模块第一次运行。
6) finalizeApp() 程序退出前执行。
其他几个方法,等以后用到的时候再说。
二 功能模块XML说明

[align=left]<XmlFile>[/align]
[align=left] <Html Name="Index" AutoSave="1" AutoCache="">[/align]
[align=left] <Body>[/align]
[align=left] <Item DisplayName="Type:Content" File="typeContent" Type="Task"/>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item DisplayName="Type:Hr" File="typeHr" Type="Task"/>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item DisplayName="Type:InputBox" File="typeInputBox" Type="Task"/>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item DisplayName="返回" Type="Back"/>[/align]
[align=left] </Body>[/align]
[align=left] </Html>[/align]
[align=left] <Html Name="typeContent" AutoSave="0" AutoCache="1">[/align]
[align=left] <Body>[/align]
[align=left] <Item Type="Content" Align="left">左对齐</Item>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" Align="center">居中对齐</Item>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" Align="right">左对齐</Item>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" Color="0000FF">字体颜色:蓝色</Item> [/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" UnSelectBgColor="00000F">未选中时的背景色:</Item>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" TopMargin="10">上边距:10</Item>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" BottomMargin="10">下边距:10</Item>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" LeftMargin="10">左边距:10</Item>[/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item Type="Content" RightMargin="10">右边距:10</Item> [/align]
[align=left] <Item Type="Hr"/>[/align]
[align=left] <Item DisplayName="返回" Type="Back"/>[/align]
[align=left] </Body>[/align]
[align=left] </Html>[/align]
</XmlFile>
这个文件,首先它必须符合XML规范,其次节点的定义要符合框架的规范,关于这个规范,接下来,会详细的说明
在这个例子文档中,我只举了三个TYPE类型:
1 Type="Content" 它的作用就是在手机屏幕上显示文本,我们可以通过属性对它的表现形式进行控制。
2 Type="Hr" 表示一条横线,这里用来分隔各个项。
3 Type="Back" 表示返回上一个界面。

三 主程序代码说明
MainMidlet类

[align=left]publicclass MainMidlet extends AppMIDlet {[/align]
[align=left] public MainMidlet() {[/align]
[align=left] super(); [/align]
[align=left] try { [/align]
[align=left] Class c = Class.forName("com.example.test.Example");[/align]
[align=left] addApplication(10, c); [/align]
[align=left] } catch (Exception ex) { [/align]
[align=left] }[/align]
}
主程序的写法是最简单的,主要是注意两点:
1) forName()方法的值必须是从Application继承的子类的全路径
2) addApplication()方法,前面的数值表示你这个模块在框架中的顺序,越小的话,就排在越前面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: