文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程J2EE/J2ME入门-J2ME学习日记之-利用定时器类模拟MIDlet外部事件
精品推荐
特别推荐
·J2EE Web开发技术期待一次新的技术变革
·J2ME程序开发初学者快速入门的九大要点
·使用技巧:J2ME中程序优化的十个小方法
·RMS从入门到精通之一
·J2EE应用程序中SQL语句的自动构造方法
·解决J2EE系统应用性能问题常用优化项目
·J2EE实用技巧:提升JSP应用程序的绝招
·J2ME内存优
·J2ME简介
·J2EE技术
热点TOP10
·JBoss 文档(三) JBoss和JMS
·基于MIDP1.0实现通信录
·3D数学知识简介
·第一个Spring MVC程序
·配置Eclipse进行远程调试
·jBPM实例化一个流程
·JBoss4.0.2集群指南
·基于J2EE的Blog平台
·EJB 3.0简介
·FC API(JSR 75)简单讲解
·介绍J2ME可选包WMA(JSR120)
·MIDP终端模拟之一:一个简单的模拟器MIDlet
·使用platformRequest()自动更新MIDlet套件
·Spring 系列:进入 Spring MVC
·从自定义字节数组创建图片
·调整压力测试工具
·基于Java的Web服务器工作原理(三)
·实例-用JSF实现文件下载
·经典飞机游戏代码S60
·Spring 系列:Spring JMS 消息处理

入门-J2ME学习日记之-利用定时器类模拟MIDlet外部事件

日期:2007年5月11日 作者: 查看:[大字体 中字体 小字体]


入门-J2ME学习日记之-利用定时器类模拟MIDlet外部事件

作者:Snail


版权申明:可以转载,请保留作者信息和来源地址:
作者:Snail
地址:http://www.matrix.org.cn/resource/article/43/43851_J2ME.html

前面提到MIDlet程序本身可以通过调用notifyPaused()请求自己从活动状态进入暂停状态;调用notifyDestroyed()请求进入销毁状态;调用resumeRequest()请求恢复到活动状态。但是具体应该怎么使用呢?怎样通过程序本身模拟状态之间的转换呢?

这些都可以通过java.util包中的Timer 和TimerTask 类来实现。听说nokia的模拟器最接近真机,所以这次程序选择nokia s40 开发环境(唯一的不足就是不支持中文)。具体看如下演示程序:

import javax.microedition.midlet.MIDlet;
import java.util.*;
/*
* 创建日期 2005-10-8
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/

/**
* @author Snail
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class MyTimerTask extends TimerTask {

private MIDlet midlet;

/**
  *
  */
public MyTimerTask(MIDlet midlet) {
  // TODO 自动生成构造函数存根
  System.out.println("MyTimerTask contructor");
  this.midlet = midlet;
}
public void run(){
  System.out.println("run() called");
  midlet.resumeRequest();
}


}


import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
import java.util.*;
import javax.microedition.midlet.MIDletStateChangeException;
/*
* 创建日期 2005-10-8
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/

/**
* @author Snail
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class MidletTest extends MIDlet implements CommandListener{

private Timer timer;
private MyTimerTask mtk;
private Command exit;
/**
  *
  */
public MidletTest() {
  System.out.println("MidletTest Constructor");
  //初始化Timer对象
   timer = new Timer();
}

/* (非 Javadoc)
  * @see javax.microedition.midlet.MIDlet#startApp()
  */
protected void startApp() throws MIDletStateChangeException {
  // TODO 自动生成方法存根
  System.out.println("startApp Called");
  exit = new Command("EXIT", Command.EXIT, 1);
  Form f = new Form("MidletTest");
  String s = new String("I'll come back soon!");
  f.append(s);
  f.addCommand(exit);
  f.setCommandListener(this);
  Display.getDisplay(this).setCurrent(f);
  try{
   //画面停留4秒 即活动状态 时间为4秒
   Thread.sleep(4000);
  }catch(Exception e){}
  
  System.out.println("Ready to paused");
  try{
   mtk = null;
      //获得当前Midlet基类的引用(向上转型)
      mtk = new MyTimerTask(this);
      //执行该任务等待 2秒
      timer.schedule(mtk, 2000);
      //请求进入暂停状态
      pauseApp();
      notifyPaused();
  }catch(Exception e){}
  
}

/* (非 Javadoc)
  * @see javax.microedition.midlet.MIDlet#pauseApp()
  */
protected void pauseApp() {
  // TODO 自动生成方法存根
  System.out.println("pauseApp Called");

}

/* (非 Javadoc)
  * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
  */
protected void destroyApp(boolean arg0)throws MIDletStateChangeException {
  // TODO 自动生成方法存根
  System.out.println("destroyApp Called:" + arg0);
  //停止Timer ,和TimerTask合同期满,脱离关系
  timer.cancel();

}
public void commandAction(Command c, Displayable d){
  if(c == exit){
   try{
   destroyApp(false);
   notifyDestroyed();
   }catch(MIDletStateChangeException e){}
  }
}

}


    通过上面程序可以看到, Timer必须配合TimerTask才能实现定时器功能。
[1] [2] [3] 下一页 




上一篇:入门-J2ME学习日记之利用eclipse编写MIDlet

下一篇:深入理解SKIP_PAGE,EVAL_PAGE

入门-J2ME学习日记之-利用定时器类模拟MIDlet外部事件 相关文章:
·教你学习如何破解XP登陆密码
·最详细的黑客入门法则
·大智慧股票软件Level-2入门手册
·AIX 5L 学习大纲/简易教程(2)(未经许可,请勿COPY)
·从零开始学黑客:网络黑客新手入门指南
·用Photoshop画漫画教程之基础入门
·学习SQL语句之SQL语句大全
·3DS MAX图文教程:事件驱动粒子系统——喷泉效果
·模拟城市4 - 游戏攻略
·利用腾讯漏洞取回QQ密码
入门-J2ME学习日记之-利用定时器类模拟MIDlet外部事件 相关软件:
·模拟城市3000(Sim City 3000)简体中文版
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·洪恩轻松教你学电脑_internet学习
·Photoshop 入门教程
·CorelDraw12 入门与实例(图文教程 菜鸟先飞系列教材)
·NDS《逆转裁判4 完美汉化简体中文版》模拟器
·《拳皇97》加强版 风云再起 模拟器
·模拟城市4000 (simcity4000)简体中文硬盘版
·ASP入门教程
·《模拟人生2》破解马赛克补丁

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn