软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > MIDP2.0手机上手电筒程序的实现
全文

MIDP2.0手机上手电筒程序的实现

2005-09-30 09:45作者:出处:BLOG责任编辑:方舟
天极软件专题专区精选     到天极软件“读编交流区”畅所欲言
Google专区 POPO专区 QQ专区 QQ挂机 了解Web2.0
Flash MX 视频教程 Photoshop视频教程 网页设计视频教程 照片处理数字暗房
PPT动画演示教程 Excel动画教程集 Word动画演示教程 Windows Vista专区
特洛伊木马专区 黑客知识教程专区 防火墙应用专区 注册表应用专区
Windows API开发专区 网络编程专区 VB数据库编程专区 图像处理与多媒体编程

  可以在所有支持MIDP2.0版本的手机上运行的手电筒程序。程序实现的原理是:利用Display对象来实现对于手机背景等的控制,在该系列的手机中只能实现闪烁背景灯的功能。

  实现代码如下:

//文件名:LightMIDlet.java

package light;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class LightMIDlet extends MIDlet {
  static LightMIDlet instance;
  LightForm displayable = new LightForm(this);
  public LightMIDlet() {
    instance = this;
  }

  public void startApp() {
    Display.getDisplay(this).setCurrent(displayable);
  }

  public void pauseApp() {
  }

  public void destroyApp(boolean unconditional) {
  }

  public static void quitApp() {
    instance.destroyApp(true);
    instance.notifyDestroyed();
    instance = null;
  }

}

//文件名:LightForm.java

package light;

import javax.microedition.lcdui.*;

public class LightForm extends Form implements CommandListener {
  StringItem si;
  Command cmdOpen;
  Command cmdClose;
  Command cmdExit;
  Display display;
  public LightForm(LightMIDlet lm) {
    super("手电筒");
    si = new StringItem("手电筒状态:","打开");
    this.append(si);

    display = Display.getDisplay(lm);

    cmdOpen = new Command("打开",Command.OK,1);
    this.addCommand(cmdOpen);

    cmdClose = new Command("关闭",Command.CANCEL,1);
    this.addCommand(cmdClose);

    cmdExit = new Command("退出",Command.EXIT,1);
    this.addCommand(cmdExit);

    setCommandListener(this);

    boolean b;

    b = display.flashBacklight(1000000);

    if(b == false){
      Alert alert = new Alert("手电筒","您的手机不支持该功能!",null,AlertType.INFO);
      alert.setTimeout(3000);
      display.setCurrent(alert);
    }
  }

  public void commandAction(Command c, Displayable d) {
    //关闭
    if (c == cmdExit) {
      // stop the MIDlet
      LightMIDlet.quitApp();
    }
    //打开
    if(c == cmdOpen){
      display.flashBacklight(1000000);
      si.setText("打开");
    }

    if(c == cmdClose){
      display.flashBacklight(0);
      si.setText("关闭");
    }
  }

}

软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众