j2me框架教程(2)
2007-08-30 13:14
169 查看
一 功能模块代码说明
1 Example类
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说明
这个文件,首先它必须符合XML规范,其次节点的定义要符合框架的规范,关于这个规范,接下来,会详细的说明
在这个例子文档中,我只举了三个TYPE类型:
1 Type="Content" 它的作用就是在手机屏幕上显示文本,我们可以通过属性对它的表现形式进行控制。
2 Type="Hr" 表示一条横线,这里用来分隔各个项。
3 Type="Back" 表示返回上一个界面。
三 主程序代码说明
MainMidlet类
主程序的写法是最简单的,主要是注意两点:
1) forName()方法的值必须是从Application继承的子类的全路径
2) addApplication()方法,前面的数值表示你这个模块在框架中的顺序,越小的话,就排在越前面。
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; } } |
下面详细介绍各个方法的作用:
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> |
在这个例子文档中,我只举了三个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()方法,前面的数值表示你这个模块在框架中的顺序,越小的话,就排在越前面。
相关文章推荐
- j2me框架教程(1)
- j2me框架教程(3)--xml文档详细说明
- j2me框架教程(1)--例子下载
- j2me框架教程(4)--登录页面的实现
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- [PHP]框架CodeIgniter中的表单教程
- EXTJS入门教程及其框架搭建
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合)
- J2ME中文教程 4 MIDP低级UI的使用
- Ruby on Rails框架程序连接MongoDB的教程
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- SpringMVC 基础教程 框架分析
- GreenDao数据库框架 最精简使用教程 并对其进行简单封装
- 一个使用监听器模式实现的J2ME网络编程框架,包括一个简单的登录功能实现(含源代码)
- 开发iOS即时通讯工具参考的一些开源、框架和教程
- play框架2.5.6教程——使用play控制台
- 迷你MVVM框架 avalonjs 入门教程
- Silverlight实例教程 - Navigation导航框架开篇
- [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程