注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

郁夫的博客

我爱你们,只是你们不知道!

 
 
 

日志

 
 
 
 

将MIDlet和界面分离(比较基础)  

2008-01-24 22:02:28|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

其主要思想是将退出函数写在MIDLET的子类中作为一个静态类,而MIDLET的子类中的Display对象则通过构造函数传入目的类,使目的类能调用MIDLET子类的退出函数.

---------------------------------------------------------------------------------------------------------------------

虽然使用面向对象的思想进行J2ME的编程,会增加代码量(增加发布文件的大小)和提高代码的复杂性。但是为了代码的可维护性和可扩展性,现在绝大多数的程序还是将界面和逻辑分离开来,下面先说明一下如何将MIDlet主类和界面分离。

      在界面和MIDlet中,需要交换的系统内容主要有两部分:1、Display对象;2、MIDlet中的退出处理。
      示例代码如下:
      package testmidlet;
 
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
 
public class TestMIDlet extends MIDlet {
 private static TestMIDlet instance;
 private LoginForm displayable ;
private Display display;
 
 
 public TestMIDlet() {
   instance = this;
   display =Display.getDisplay(this);
   displayable= newLoginForm(display);
 }
 
 
 public void startApp() {
   display .setCurrent(displayable);
 }
 
 
 public void pauseApp() {
 }
 
 
 public void destroyApp(booleanunconditional) {
 }
 
 
 public static void quitApp() {
   instance.destroyApp(true);
   instance.notifyDestroyed();
   instance = null;
 }
 
}
 
package testmidlet;
 
import javax.microedition.lcdui.*;
 
public class LoginForm extends Form implements CommandListener{
    privateDisplay display;
 
 public LoginForm(Display display) {
   super("Test");
   this.display = display;
   setCommandListener(this);
   // add the Exit command
   addCommand(new Command("Exit", Command.EXIT, 1));
 }
 
 
 public void commandAction(Command command,Displayable displayable) {
   
   if (command.getCommandType() == Command.EXIT) {
// stop the MIDlet
     TestMIDlet.quitApp();
   }
 }
}

其中display对象可以通过构造方法进行传递,退出方法可以通过方法调用来执行.这样,你的代码就能实现MIDlet类和界面分离了.

 



Trackback:http://tb.blog.csdn.net/TrackBack.aspx?PostId=2047725

  评论这张
 
阅读(273)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017