张生工作室

一切皆有可能

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  24 随笔 :: 3 文章 :: 11 评论 :: 0 Trackbacks

 

完成最简单的闹铃功能 
/*
* Midlet.java
*
* Created on 2007年9月8日, 下午12:24
*/


package hello;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
*
@author    Administrator
@version
*/

public class Midlet extends MIDlet implements javax.microedition.lcdui.CommandListener,javax.microedition.lcdui.ItemStateListener {
      
private     Display display;
       
private     Form form;
       
private DateField setAlarm;
       Alert alert;
       Command exitCmd;
       Command cancelCmd;
       Timer alarmTimer;
       MyTimerTask alarmTask;
       Date current;
       
boolean firstTime=true;
    
      
public Midlet()
      
{
            display
=Display.getDisplay(this);
            form
=new Form("设定闹铃");
            alert 
=new Alert("");
            alert.setTimeout(Alert.FOREVER);
            form.append(
"这是我第一次开发手机程序");
            alert.setString(
"时间到了");
          
            setAlarm
=new DateField("设定时间",DateField.DATE_TIME);
            exitCmd
=new Command("退出",Command.EXIT,1);
            cancelCmd
=new Command("关闭铃声",Command.CANCEL,1);
            current
=new Date();
            alarmTimer
=new Timer();
            alarmTask
=new MyTimerTask();
            form.append(setAlarm);
            form.setCommandListener(
this);
            form.addCommand(exitCmd);
            form.addCommand(cancelCmd);
            form.setItemStateListener(
this);
            alarmTimer
=new Timer();
            alarmTask
=new MyTimerTask();
          
          
      }

      
public void startApp() {
          display
=Display.getDisplay(this);
          display.setCurrent(form);
        
        
      
      }

    
      
public void pauseApp() {
      }

    
      
public void destroyApp(boolean unconditional) {
      }


      
public void commandAction(Command command, Displayable displayable) {
        
          
if (command==exitCmd)
          
{
              destroyApp(
false);
              notifyDestroyed();
          }

          
else
              
if(command==cancelCmd)
              
{
              alarmTimer.cancel();
              }

      }


      
public void itemStateChanged(Item item) {
          Date setting
=setAlarm.getDate();
          
if (setting.getTime()>current.getTime())
          
{
              alarmTimer.scheduleAtFixedRate(alarmTask,setting,
2000);
          }

      }

    
      
class MyTimerTask extends TimerTask
{
     
public void run()
     
{
        
if (firstTime)
        
{
            display.setCurrent(alert,form);
            firstTime
=false;
        }

        AlertType.CONFIRMATION.playSound(display);
     }

   
}


}



张生工作室
posted on 2007-09-08 21:27 张生工作室 阅读(207) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: