文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程J2EE/J2MEJ2ME-定时器(TimerTask)使用及初探
精品推荐
特别推荐
·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-定时器(TimerTask)使用及初探

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


  最近完成个J2ME游戏,一直以来总想写点东西给大家~因为以前总是在索取,现在把J2ME的入门知识-定时器的相关知识以及我的一点体会-付出给大家,内容不多只是它的使用,希望对入门的J2ME开发者有所帮助。

首先,说下定时器的基本使用,以下内容摘自NOKIA 论坛里的一篇文章:

《为60系列平台设计Java应用》--定时器

  各种定时器让各种应用能方便地规划任务,而不必对线程进行调配。使用线程通常需要更为复杂的设计,并需要更多的系统资源,对各种小设备而言,比较奢侈。

创建一个定时器的范例:

public class MyTask extends TimerTask

{

private int iCount;

public MyTask(int aStart)

{

super();

iCount = aStart;

}

public void run()

{

iCounter--;

System.out.println(“Counter is now ” + iCounter);

if (iCounter == 0)

cancel();

}

}

构建一个定时器并向其中添加MyTask:

MyTask myTask = new Mytask(50);

Timer myTimer = Timer();

MyTimer.schedule(myTask, 1000, 20000);

在这个范例中,每20秒就会调用一次MyTask的run()方法。

并不保证定时器任务一定按时执行。各个定时器任务依次发生。如果其中一个任务需时很长,下一个任务只能在当前任务完成之后再执行。对于循环执行的任务,最好保证run()方法能很快完成。

一个以上地定时器也是可能的,这样就可以将任务分配到几个定时器上。然而,使用多定时器要多加小心,因为每个定时器只运行自己的线程,同步可能是需要的。

 

  上面就是定时器的基本用法,对于一些简单的定时器操作这样做就可以了,直接把要执行的代码放入Run中。对于逻辑结构复杂点的,需要多次执行Run方法的时候就要另想办法来做了。下面是我使用定时器的一个框架,实际上就是个面向对象的应用,比较简单也好理解,希望对大家有个帮助,也希望有不同见解的朋友共同交流。

同样要有个类来继承TimerTask:

import java.util.TimerTask;

public class GAMETask extends TimerTask {

    private GameObject m_Object;

    public GAMETask(GameObject object) {

        m_Object = object;

    }

    public void run() {

        m_Object.gameTask();

    }

}

然后再定义一个GameObject接口:

public interface GameObject {

    public abstract void gameTask();

}

最后就是在你的Canvas类中使用了:

public class GameCanvas extends FullCanvas implements GameObject {

//......   

private static Timer m_Timer;

private static byte runcase;

public GameCanvas(MjMIDlet midlet, WhkRMS whkrms) {

  //......

}

public void gameTask() {

        switch (runcase) {

        case 0:

            aaaGametask();


[1] [2] [3] 下一页 




上一篇:使用J2MEUnit测试J2ME程序

下一篇:实战程序管理器和多语言程序

J2ME-定时器(TimerTask)使用及初探 相关文章:
·GHOST使用方法(图解)
·Vista系统使用技巧总结
·为什么iexplore.exe在打开网页时CPU使用会100%?
·QQ空间导航代码最新版使用方法
·DataTable控件的使用
·推荐:漂亮的手机上使用的墙纸图片分享下载
·腾讯QQ号码使用完全指南
·DENX U-Boot及Linux使用手册
·QQ空间透明flash代码使用说明
·电脑使用一段时间后会变慢原因解析
J2ME-定时器(TimerTask)使用及初探 相关软件:
·黑客视频教程 VMware虚拟机的安装和使用
·黑客视频教程-灰鸽子远控使用教程
·FLASH 8中文使用手册
·使用GPMC随心所欲管理组策略
·Adobe Photoshop CS 2 简体中文使用指南
·Auto CAD R14高级使用教程
·Microsoft Visio 2000 完全使用手册
·Linux 系统命令及其使用详解(大全)
·黑客视频教程-网吧代理服务器使用灰鸽子端口映射方法
·Office使用完全手册

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