<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FJ2ME%2FTimer</id>
		<title>Java Tutorial/J2ME/Timer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FJ2ME%2FTimer"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/Timer&amp;action=history"/>
		<updated>2026-04-22T07:42:33Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/Timer&amp;diff=4180&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/Timer&amp;diff=4180&amp;oldid=prev"/>
				<updated>2010-06-01T05:00:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:00, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/Timer&amp;diff=4179&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/Timer&amp;diff=4179&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Alarm with Timer and Alert ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import java.util.Timer;&lt;br /&gt;
import java.util.TimerTask;&lt;br /&gt;
import javax.microedition.lcdui.Alert;&lt;br /&gt;
import javax.microedition.lcdui.AlertType;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.DateField;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Form;&lt;br /&gt;
import javax.microedition.lcdui.Item;&lt;br /&gt;
import javax.microedition.lcdui.ItemStateListener;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class AlarmMIDlet extends MIDlet implements ItemStateListener, CommandListener {&lt;br /&gt;
  private Command alarmCommand= new Command(&amp;quot;alarm&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
  private Command resetCommand= new Command(&amp;quot;Reset&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
  private Command exitCommand= new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
  private Display display;&lt;br /&gt;
  private DateField alarmTimeSetting;&lt;br /&gt;
  private Form aForm= new Form(&amp;quot;Alarm Setting&amp;quot;);&lt;br /&gt;
  private int dateIndex;&lt;br /&gt;
  private Date currentTime= new Date();&lt;br /&gt;
  private Timer aTimer;&lt;br /&gt;
  private boolean dateOK = false;&lt;br /&gt;
  public AlarmMIDlet() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    alarmTimeSetting = new DateField(&amp;quot;&amp;quot;, DateField.DATE_TIME);&lt;br /&gt;
    alarmTimeSetting.setDate(currentTime);&lt;br /&gt;
    dateIndex = aForm.append(alarmTimeSetting);&lt;br /&gt;
    aForm.addCommand(alarmCommand);&lt;br /&gt;
    aForm.addCommand(resetCommand);&lt;br /&gt;
    aForm.addCommand(exitCommand);&lt;br /&gt;
    aForm.setCommandListener(this);&lt;br /&gt;
    aForm.setItemStateListener(this);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    display.setCurrent(aForm);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void itemStateChanged(Item item) {&lt;br /&gt;
    if (item == alarmTimeSetting) {&lt;br /&gt;
      if (alarmTimeSetting.getDate().getTime() &amp;lt; currentTime.getTime())&lt;br /&gt;
        dateOK = false;&lt;br /&gt;
      else&lt;br /&gt;
        dateOK = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    if (c == alarmCommand) {&lt;br /&gt;
      if (dateOK == false) {&lt;br /&gt;
        Alert aAlert = new Alert(&amp;quot;Cannot set&amp;quot;, &amp;quot;Warning&amp;quot;, null, null);&lt;br /&gt;
        aAlert.setTimeout(Alert.FOREVER);&lt;br /&gt;
        aAlert.setType(AlertType.ERROR);&lt;br /&gt;
        display.setCurrent(aAlert);&lt;br /&gt;
      } else {&lt;br /&gt;
        aTimer = new Timer();&lt;br /&gt;
        alarmTimerTask aTimerTask = new alarmTimerTask();&lt;br /&gt;
        long amount = alarmTimeSetting.getDate().getTime() - currentTime.getTime();&lt;br /&gt;
        aTimer.schedule(aTimerTask, amount);&lt;br /&gt;
        aForm.removeCommand(alarmCommand);&lt;br /&gt;
        aForm.removeCommand(resetCommand);&lt;br /&gt;
        aForm.delete(dateIndex);&lt;br /&gt;
        aForm.setTitle(&amp;quot;Waiting....&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    } else if (c == resetCommand) {&lt;br /&gt;
      alarmTimeSetting.setDate(currentTime = new Date());&lt;br /&gt;
    } else if (c == exitCommand) {&lt;br /&gt;
      destroyApp(false);&lt;br /&gt;
      notifyDestroyed();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  class alarmTimerTask extends TimerTask {&lt;br /&gt;
    public final void run() {&lt;br /&gt;
      Alert aAlert = new Alert(&amp;quot;Alert!&amp;quot;);&lt;br /&gt;
      aAlert.setTimeout(Alert.FOREVER);&lt;br /&gt;
      aAlert.setType(AlertType.ALARM);&lt;br /&gt;
      AlertType.ERROR.playSound(display);&lt;br /&gt;
      display.setCurrent(aAlert);&lt;br /&gt;
      cancel();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Fixed Rate Schedule MIDlet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import java.util.Timer;&lt;br /&gt;
import java.util.TimerTask;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.TextBox;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class FixedRateScheduleMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
  private Display display;&lt;br /&gt;
  TextBox t= new TextBox(&amp;quot;Time setting&amp;quot;, &amp;quot;&amp;quot;, 256, 0);&lt;br /&gt;
  private Timer aTimer= new Timer();&lt;br /&gt;
  private Date currentTime= new Date();&lt;br /&gt;
  private Calendar now = Calendar.getInstance();&lt;br /&gt;
  public FixedRateScheduleMIDlet() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    now.setTime(currentTime);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    ClockTimerTask aTimerTask = new ClockTimerTask();&lt;br /&gt;
    aTimer.schedule(aTimerTask, 1000, 1000);&lt;br /&gt;
    t.addCommand(exitCommand);&lt;br /&gt;
    t.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(t);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    if (c == exitCommand) {&lt;br /&gt;
      destroyApp(false);&lt;br /&gt;
      notifyDestroyed();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  class ClockTimerTask extends TimerTask {&lt;br /&gt;
    public final void run() {&lt;br /&gt;
      t.setString(&amp;quot;&amp;quot; + now.get(Calendar.HOUR) + &amp;quot;:&amp;quot; + now.get(Calendar.MINUTE) + &amp;quot;:&amp;quot;&lt;br /&gt;
          + now.get(Calendar.SECOND) + &amp;quot;:&amp;quot;);&lt;br /&gt;
      display.setCurrent(t);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Simple Timer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Timer;&lt;br /&gt;
import java.util.TimerTask;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.TextBox;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class SimpleTimerMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
  private Command scheduleCommand = new Command(&amp;quot;schedule&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
  private TextBox aTextBox = new TextBox(&amp;quot;Setting&amp;quot;, &amp;quot;Content&amp;quot;, 20, 0);&lt;br /&gt;
  public static String aMessage = &amp;quot;&amp;quot;;&lt;br /&gt;
  Display display;&lt;br /&gt;
  private Timer aTimer;&lt;br /&gt;
  private SimpleTimerTask aTimerTask;&lt;br /&gt;
  public SimpleTimerMIDlet() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    aTextBox.addCommand(exitCommand);&lt;br /&gt;
    aTextBox.addCommand(scheduleCommand);&lt;br /&gt;
    aTextBox.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(aTextBox);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    if (c == scheduleCommand) {&lt;br /&gt;
      aTimer = new Timer();&lt;br /&gt;
      aTimerTask = new SimpleTimerTask();&lt;br /&gt;
      aTimer.schedule(aTimerTask, 500);&lt;br /&gt;
      aTextBox.setString(aMessage);&lt;br /&gt;
    } else if (c == exitCommand) {&lt;br /&gt;
      destroyApp(false);&lt;br /&gt;
      notifyDestroyed();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class SimpleTimerTask extends TimerTask {&lt;br /&gt;
  public final void run() {&lt;br /&gt;
    System.out.println(&amp;quot;Executing ....&amp;quot;);&lt;br /&gt;
    cancel();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>