站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题J2ME学习笔记(四)-----用特定的MIDP API开发MIDlets

J2ME学习笔记(四)-----用特定的MIDP API开发MIDlets

摘要: J2ME学习笔记(四)-----用特定的MIDP API开发MIDlets

用特定的MIDP API开发MIDlets<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1. MIDP中的特定类和接口

1) javax.microedition.midlet-----是最内层的包,只包含一个MIDlet类,它为MIDP应用提供了基本功能开支

2) javax.microedition.io-----包括HTTPConnection接口,通过这个接口,MIDlet设备可访问Web中的数据

3) javax.microedition.lcdui(Liquid Crystal Display User Interface液晶显示用户界面)-----对GUI组件提供支持,有与java.awt同样的功能,javax.microedition.lcdui包中的类和接口更适用与小屏幕的手持设备.

4) javax.microedition.rms(记录管理系统)-----支持数据库系统的不同类和接口,它们随后存储和检索MIDlet所用的数据

2. 一个实例:

1) 任务陈述-----SaveMyMoney银行的移动应用系统第一个屏幕显示欢迎消息,第二个屏幕上应该显示当前日期,当前时间,总的内存,以及自由内存

2) 实现代码如下:

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

import java.util.*;

public class MB extends MIDlet implements CommandListener

{

Display display;

Form form1;

Form form2;

Ticker ticker1;

static final Command okCommand = new Command("Info",Command.OK,1);

static final Command backCommand = new Command("Back",Command.BACK,0);

static final Command exitCommand = new Command("Exit", Command.STOP, 2);

public MB()

{

}

public void startApp() throws MIDletStateChangeException

{

display = Display.getDisplay(this);

ticker1=new Ticker("Welcome to the World of Mobile Banking!");

form1 = new Form("SaveMyMoney");

form2 = new Form("INFORMATION");

Calendar calendar1 = Calendar.getInstance();

int date=calendar1.get(Calendar.MONTH);

String date1 = Integer.toString (calendar1.get(Calendar.DAY_OF_MONTH)) + " " +

Integer.toString(calendar1.get(Calendar.YEAR));

String time = Integer.toString(calendar1.get(Calendar.HOUR_OF_DAY)) + ":" +

Integer.toString(calendar1.get(Calendar.MINUTE)) + ":" +

Integer.toString(calendar1.get(Calendar.SECOND));

Runtime runMemory = Runtime.getRuntime();

String total_Memory = Long.toString(runMemory.totalMemory());

String free_Memory = Long.toString(runMemory.freeMemory());

String month =" 0";

switch(date)

{

case 0: month="January";break;

case 1: month="February";break;

case 2: month="March";break;

case 3: month="April";break;

case 4: month="May";break;

case 5: month="June";break;

case 6: month="July";break;

case 7: month="August";break;

case 8: month="September";break;

case 9: month="October";break;

case 10: month="November";break;

case 11: month="December";break;

}

StringItem strItem = new StringItem("Welcome to SaveMyMoney Bank!", "");

form1.append(strItem);

form2.append(new StringItem(" ", "DATE: "+ month +",")) ;

form2.append(date1);

form2.append(new StringItem(" ", "TIME: " + time));

form2.append(new StringItem(" ", "Total Memory: " + total_Memory));

form2.append(new StringItem(" ", "Free Memory: " + free_Memory));

form1.addCommand(exitCommand);

form1.addCommand(okCommand);

form1.setCommandListener(this);

form1.setTicker(ticker1);

display.setCurrent(form1);

}

public void pauseApp()

{

}

public void destroyApp(boolean unconditional)

{

notifyDestroyed();

}

public void showForm1()

{

form1.addCommand(exitCommand);

form1.addCommand(okCommand);

form1.setCommandListener(this);

display.setCurrent(form1);

}

public void showForm2()

{

form2.addCommand(exitCommand);

form2.addCommand(backCommand);

form2.setCommandListener(this);

display.setCurrent(form2);

}

public void commandAction(Command c, Displayable d)

{

String label = c.getLabel();

if (label.equals("Exit"))

{

destroyApp(true);

}

else if (label.equals("Back"))

{

// go back to Form1

showForm1();

}

else

{

showForm2();

}

}

}



↑返回目录
前一篇: J2ME学习笔记(五)-----MIDlets中GUI(图形)编程
后一篇: J2ME学习笔记(三)-----学习MIDlets