观念和理念的区别:Java扩展: MIDP 2.0 是什么东西 ?干什么用的?

来源:百度文库 编辑:高校问答 时间:2024/05/07 05:14:45
谢谢 回答我问题的人拉~!

MIDlet是在MIDP中提出的一种应用程序模型,目前在J2ME中应用最为广泛。本文将主要介绍MIDP应用程序的属性问题。读者可以参考MIDP Application Properties

  MIDlet可以访问两种运行时的属性值:系统和应用程序的。

  系统属性的概念是在CLDC(Connected Limited Device Configuration)中定义的,属性值被写入底层的系统,我们可以读取它们但是不能修改这些属性值。如果你想读取一个系统属性值那么你可以使用System类的静态方法System.getProperty()来读取。经常有网友会询问如何读取手机号码或者IMEI号码,其实这些你应该参考具体机型的开发文档。各个厂商的实现都是不一样的。为了让大家查找方便这里列出在J2ME中定义的系统属性值,如果你的手机支持相关的JSR,那么就可以通过上述方法取得属性值。

  JSR Property Name
  Default Value¹
  30 microedition.platform null
  microedition.encoding ISO8859_1
  microedition.configuration CLDC-1.0
  microedition.profiles null
  37 microedition.locale null
  microedition.profiles MIDP-1.0
  75 microedition.io.file.FileConnection.version 1.0
  file.separator (impl-dep)
  microedition.pim.version 1.0
  118 microedition.locale null
  microedition.profiles MIDP-2.0
  microedition.commports (impl-dep)
  microedition.hostname (impl-dep)
  120 wireless.messaging.sms.smsc (impl-dep)
  139 microedition.platform (impl-dep)
  microedition.encoding ISO8859-1
  microedition.configuration CLDC-1.1
  microedition.profiles (impl-dep)
  177 microedition.smartcardslots (impl-dep)
  179 microedition.location.version 1.0
  180 microedition.sip.version 1.0
  184 microedition.m3g.version 1.0
  185 microedition.jtwi.version 1.0
  195 microedition.locale (impl-dep)
  microedition.profiles IMP-1.0
  205 wireless.messaging.sms.smsc (impl-dep)
  205 wireless.messaging.mms.mmsc (impl-dep)

  应用程序属性值是在应用程序描述符文件或者MANIFEST文件中定义的(其中MANIFEST文件是打包在jar文件中的),当我们部署应用程序的时候会定义应用程序属性。比如下面是一个典型的jad文件内容:
  MIDlet-1: HttpWrapperMidlet,,httpwrapper.HttpWrapperMIDlet
  MIDlet-Jar-Size: 16315
  MIDlet-Jar-URL: HttpWrapper.jar
  MIDlet-Name: HttpWrapper
  MIDlet-Vendor: Vendor
  MIDlet-Version: 1.0
  MicroEdition-Configuration: CLDC-1.0
  MicroEdition-Profile: MIDP-1.0
  Which-Locale: en

  其中Which-Locale就是应用程序属性值,我们可以通过MIDlet的成员方法getAppProperty()来得到它,代码片断如下:

  import javax.microedition.midlet.*;

  public class MyMIDlet extends MIDlet {
  private String suiteName;

  public MyMIDlet(){
  suiteName = getAppProperty( "MIDlet-Name" ;
  ... // more stuff
  }

  ... // etc.
  }

  属性值是大小写敏感的,如果属性值在系统,jad文件和manifest文件中都没有定义的话,那么将返回null。如果在jad文件和manifest文件中定义了同样的属性值,那么会出现如下两种情况:如果应用程序是MIDP2.0种的信任应用程序,那么AMS将会拒绝安装。否则在jad文件中的属性值会覆盖manifest中的值。

  在jad文件中使用属性值有一定的好处,如果你需要更改一些数据而又不想重新编译代码、打包的话,那么你可以在jad中定义一些属性值。这样可以配置你的应用程序,想想是不是和你在j2se应用中使用属性文件类似。但是不要在jad文将中定义大量的数据,因为很多设备都是对jad文件的大小有限制的。

Java是由Sun微系统公司所发展出来的程序语言,它本身是一种对象导向(Object-Oriented)的程序语言。JAVA目前在手机上应用最多的就是JAVA游戏。
Java手机软件平台采用的基本Java平台是CLDC (Connected Limited Device Configuration)和MIDP (Mobile Information Device Profile),是J2ME (Java 2 Micro Edition)的一部分,在中国一般称为“无线Java”技术。此前,有人把它叫做“K-Java”。
MIDP现在最新版本就是MIDP 2.0,它带来了增强的图形功能、蓝牙应用编程接口、支持不同HTTP的安全连接类型、先进的媒体应用编程接口和信息应用编程接口。
MIDP 2.0 定义:MIDP 2.0 也叫MIDP_NG,它的编号是JSR 118。MIDP2.0 与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。