到 Google 资讯主页   
EasyJF首页   资料   源码   软件    论坛   网站    
   使用帮助    
    该信息为本站MyRSS系统缓存内容,部分图片及附件有可能无法正常使用.easyjf.comwww.matrix.org.cn无关,不对该信息负责.通过http://www.matrix.org.cn//resource/article/0/524.html访问该信息的原始内容.
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   
封装多MIDIet程序
作者:chris 来源:www.matrix.org.cn  发布时间:2006-02-22 17:48:49.813

    你可以将多个MIDIet程序存储在一个JAR文件中。设备会自动显示一个MIDIet的菜单,又用户选择运行哪个MIDIet程序。

   以下的例子中包含所有你所需要的: 两个简单MIDIet程序的源代码,一个存储在JAR文件中的表单文件(MANIFEST),一个JAVA文件描述符文件(.jad),MIDIet的图象文件(.png),还有一个用于运行MIDIet程序和编译,预检,创建JAR文件的DOS批处理文件。


源代码1:

/*----------------------------------------------------
* www.CoreJ2ME.com
*
* Simple MIDlet1
*---------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class MIDlet1 extends MIDlet implements CommandListener
{
  private Display display; // Reference to Display object
  private TextBox tbxMain; // A Textbox to display a message
  private Command cmdExit; // A Command to exit the MIDlet

  // The constructor
  public MIDlet1()
  {
    display = Display.getDisplay(this);

    cmdExit = new Command("Exit", Command.SCREEN, 1);

    tbxMain = new TextBox("Welcome", "Core J2ME", 50, 0);
    tbxMain.addCommand(cmdExit);
    tbxMain.setCommandListener(this);
  }

  // Called by application manager to start the MIDlet.
  public void startApp()
  {
    display.setCurrent(tbxMain);
  }

  // A required method
  public void pauseApp()
  { }

  // A required method
  public void destroyApp(boolean unconditional)
  { }

  // Check to see if our Exit command was selected
  public void commandAction(Command c, Displayable s)
  {
    if (c == cmdExit)
    {
      destroyApp(false);
      notifyDestroyed();
    }
  }
}



源代码2:

/*----------------------------------------------------
* www.CoreJ2ME.com
*
* Simple MIDlet2
*---------------------------------------------------*/

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

public class MIDlet2 extends MIDlet implements CommandListener
{
  private Display display; // Reference to Display object
  private Form frmMain; // The main form
  private TextField txfName; // A text field to prompt for name
  private Command cmdExit; // A Command to exit the MIDlet

  // The constructor
  public MIDlet2()
  {
    display = Display.getDisplay(this);

    cmdExit = new Command("Exit", Command.SCREEN, 1);

    txfName = new TextField("Name:", "", 10, TextField.ANY);
  
    frmMain = new Form("Sample Form");
    frmMain.addCommand(cmdExit);
    frmMain.append(txfName);
    frmMain.setCommandListener(this);
  }

  // Called by application manager to start the MIDlet.
  public void startApp()
  {
    display.setCurrent(frmMain);
  }

  // A required method
  public void pauseApp()
  { }

   // A required method
  public void destroyApp(boolean unconditional)
  { }

  // Check to see if our Exit command was selected
  public void commandAction(Command c, Displayable s)
  {
    if (c == cmdExit)
    {
      destroyApp(false);
      notifyDestroyed();
    }
  }
}

-----------------------------------------------------------------------------------------------------------------------

mainfest.mf 文件(要存到JAR文件里):

MIDlet-Name: TwoMIDlets
MIDlet-Version: 1.0
MIDlet-Vendor: Core J2ME Technology
MIDlet-1: MIDlet1,/image1.png, MIDlet1
MIDlet-2: MIDlet2,/image2.png, MIDlet2
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0

----------------------------------------------------------------------------------------------------------------------

MIDlet.jad 文件

MIDlet-Name: TwoMIDlets
MIDlet-Version: 1.0
MIDlet-Vendor: Core J2ME Technology
MIDlet-Description: Packaging multiple MIDlets
MIDlet-Jar-URL: MIDlet.jar
MIDlet-Jar-Size: 3144
MIDlet-1: MIDlet1,/image1.png, MIDlet1
MIDlet-2: MIDlet2,/image2.png, MIDlet2
----------------------------------------------------------------------------------------------------------------------
Emulator的显示结果:
从左向右:
1。显示MIDIet程序的菜单。
2。运行MIDIet 1
3。运行MIDIet 2
image


文章要点:
1.        入口:

MIDlet-1: MIDlet1,/image1.png, MIDlet1
MIDlet-2: MIDlet2,/image2.png, MIDlet2

以上在mainfest和 jad文件中必须是同样的!
2.        你可以省略对图像文件的引用,如下所示:
MIDlet-1: MIDlet1,, MIDlet1
MIDlet-2: MIDlet2,, MIDlet2

3.        下面的属性在jad文件中是可选的:

MIDlet-Description: Packaging multiple MIDlets

4.        以上的例程基于MIDP与 CLDC的1.0.3版本。

-----------------------------------------------------------------------------------------------------------------------------
源代码下载:
下载

关于翻译作者:
bruceyuki,JAVA C#技术爱好者,现就读于新西兰奥克兰大学,正参与大学的一个AI项目,可以点击http://www.matrix.org.cn/user_view.asp?username=bruceyuki查看他的个人信息

 
相关文章
 
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   


EasyJF.com 2006 隐私政策 使用EasyJF前必读