Java jar jad jam midlet
ava是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。简单的说 Java就是一种编程语言(就像C语言,C++语言一样)。
JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。
JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。
JAD JAVA手机电子书的格式一般为JAR和JAD,其中JAD文件是一个说明文件,描述jar文件的信息。部分手机不支持直接读取JAR(这是手机安全策略引起的),这时则需要JAD文件。
MIDlet 是在支持MIDP 的设备上运行的MIDP 应用。它仅利用MIDP 和CLDC 规范所定义的各. 种API。该应用必须继承MIDlet 类以便让应用管理软件来控制这个MIDlet、从应用描述器中获. 取各种属性,以及对各种状态变化进行通知和请求
add:
MIDlet(Mobile Information Devices applet),即移动信息设备小程序.
MIDP:
移动信息设备描述(Mobile Information Device Profile,MIDP)是一套Java应用编程接口(Application Programmer’s Interfaces(APIs))。它们与有限连接设备配置(Connected Limited Device Configuration,CLDC)一起向诸如蜂窝电话等移动信息设备提供了一个完整的Java应用运行环境。MIDP中含有下列API包:javax.microedition.lcdui–用户界面(UI)API,它为MIDP应用提供了一整套实现用户界面的功能特性;javax.microediton.rms–移动信息设备描述提供了一种让MIDlets永久储存并在以后可以取回数据的机制。javax.microedition.midlet–这个MIDlet包明确定义了MIDP应用,也定义了和应用环境之间的交互。javax.microedition.io–移动信息设备还描述包括基于有限连接设备配置GenericConnection框架的网络支持。
MIDP是向下兼容的,即MIDP2.0的手机能玩MIDP1.0的游戏。
MIDP1.0有容量限制,软件不能超过64K。
MIDlet 是在支持MIDP 的设备上运行的MIDP 应用。它仅利用MIDP 和CLDC 规范所定义的各. 种API。该应用必须继承MIDlet 类以便让应用管理软件来控制这个MIDlet、从应用描述器中获. 取各种属性,以及对各种状态变化进行通知和请求 。
什么是midlet权限,我该怎么做
MIDP:
移动信息设备描述(Mobile Information Device Profile,MIDP)是一套Java应用编程接口(Application Programmer’s Interfaces(APIs))。它们与有限连接设备配置(Connected Limited Device Configuration,CLDC)一起向诸如蜂窝电话等移动信息设备提供了一个完整的Java应用运行环境。MIDP中含有下列API包:javax.microedition.lcdui–用户界面(UI)API,它为MIDP应用提供了一整套实现用户界面的功能特性;javax.microediton.rms–移动信息设备描述提供了一种让MIDlets永久储存并在以后可以取回数据的机制。javax.microedition.midlet–这个MIDlet包明确定义了MIDP应用,也定义了和应用环境之间的交互。javax.microedition.io–移动信息设备还描述包括基于有限连接设备配置GenericConnection框架的网络支持。
MIDP是向下兼容的,即MIDP2.0的手机能玩MIDP1.0的游戏。
MIDP1.0有容量限制,软件不能超过64K。
MIDlet 是在支持MIDP 的设备上运行的MIDP 应用。它仅利用MIDP 和CLDC 规范所定义的各. 种API。该应用必须继承MIDlet 类以便让应用管理软件来控制这个MIDlet、从应用描述器中获. 取各种属性,以及对各种状态变化进行通知和请求
通俗理解:也就是这间软件公司还未被接受,像WINDOWS不承认某些软件一样.其实没什么,需要就装吧.
Java扩展: MIDP 2.0 是什么东西 ?干什么用的?
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文件的大小有限制的。
请问MIDlet是什么?
在J2ME编程过程中,MIDlet是最核心的类之一,熟悉该类的使用是J2ME学习过程中必须首先掌握的类,下面就结合实际介绍一下该类的实际使用。
众所周知,J2ME程序都是从MIDlet类开始执行,系统规定了MIDlet的生命周期。规定MIDlet程序有三种状态:
1、 暂停状态
2、 运行状态
3、 销毁状态
系统在执行MIDlet程序时,首先构造一个MIDlet类型的对象,然后使程序进入到暂停状态,按照生命周期的规定,系统会自动调用MIDlet对象的startApp方法使程序进入到运行状态,开始程序的执行。如果在创建MIDlet对象的过程中,或者是调用startApp的方法中发生了异常,则系统会自动调用MIDlet对象的destroyApp方法进行到销毁状态,也就是使程序退出。
所以生命周期中的第一个需要注意的地方就是熟悉在以上状态转换过程中,系统会自动调用的方法,然后在实际编写MIDlet类的时候,在这些方法中书写合适的代码,这样就可以在系统规定的状态转换时,自动调用这些方法。
另外一个需要说明的状态是暂停状态,系统在程序运行过程中,如果手机有来电,则系统会自动的使MIDlet程序进行到暂停状态,在进入到暂停状态以前,系统会自动调用MIDlet对象的pauseApp方法。当电话接听完毕以后,系统会自动使MIDlet程序进行到运行状态,在进入到运行状态以前,系统还会自动调用startApp方法使系统进入到运行状态。
对于上面的内容做一个简单的总结:
1、 startApp方法
在系统第一次运行的时候,系统会自动调用该方法使系统进入到运行状态。
当系统从暂停状态切换到运行状态以前,系统也会自动调用该方法。
2、 pauseApp方法
当系统从运行状态切换到暂停状态以前,会自动调用该方法。
3、 destroyApp方法
当系统发生异常退出程序以前,会自动调用该方法。该方法有一个boolean类型的参数,如果该参数为true则代表该方法必须清理和释放资源,如果为false可以抛出一个MIDletStateChangeException异常来表明它不想立即退出。
熟悉了这几个方法的使用以后,可以实现很多实用的功能,下面介绍两个实际功能的实现:
1、 实现来电话时暂停的功能
在实际的MIDlet编程中,必须实现手机来电时暂停程序的功能,如果有线程时,还需要把线程停止掉,然后当电话结束以后,重新显示界面,并重新启动线程。
startApp方法的具体的实现代码框架如下:
public void startApp(){
//获得当前显示的界面
Displayable curr = display.getCurrent();
//判断是否是第一次运行
if(curr == null){
//显示第一个界面,例如logo界面
}else{
//显示来电以前的界面
display.setCurrent(curr);
//如果需要,还可以启动线程
}
}
如果游戏界面中有线程,则需要在来电时暂停线程,而pauseApp在暂停以前会被系统调用,所以可以在pauseApp方法中实现该功能。pauseApp方法的实现代码框架如下:
public void pauseApp(){
//获得当前显示的界面
Displayable curr = display.getCurrent();
//判断是否是游戏界面
if(curr instanceof GameCanvas){
//停止线程
}
}
2、 实现按挂机时清理的功能
熟悉MIDlet编程的人都知道,在程序运行过程中按挂机键,可以使MIDlet程序退出,在低级用户界面编程中,可以在keyPressed方法中捕获该事件,但是却无法处理,因为捕获以后,程序就直接退出了。
如果游戏中有背景音乐等,则当按挂机键直接退出的时候,音乐还会存在,这样就会造成很多的问题。但是按挂机键以后,在程序退出以前,系统会自动调用destroyApp方法,所以可以把最后处理的代码放置在destroyApp方法中。
下面接着来看一下另一组方法,来继续熟悉MIDlet类的使用:
1、 notifyPaused
使程序进入暂停状态
2、 notifyDestroyed
是程序进入到销毁状态。
以上两个方法和上面的三个方法不同,上面的三个方法是在状态切换过程中,会自动被系统调用。而这两个方法不会被系统自动调用,但是程序员在实际编程过程中可以手动调用这两个方法,使程序进入指定的状态。
比如如果想实现程序退出的功能,就只需要使MIDlet程序进入到销毁状态即可,也就是只需要手动调用notifyDestroyed方法即可。
上面是MIDlet类中最主要的两组方法,下面分MIDP1.0和MIDP2.0来分别介绍剩下的方法的作用。首先看一下MIDP1.0中的两个方法:
1、 getAppProperty
获得jad文件和manifest文件中属性的值,如果一个属性在以上两个文件中都包含,则以jad文件中的属性值为准。
2、 resumeRequest
系统通过调用该软件来判断是否需要使该MIDlet进入运行状态。如果需要进入运行状态,则系统会自动调用startApp方法。
在MIDP2.0中,MIDlet类中新增了两个方法,下面介绍一下这两个方法的作用,依次是:
1、 checkPermission
该方法是MIDP2.0的安全许可机制,在程序的实际使用过程中,可以通过该方法来检查MIDlet是否允许特定的操作,例如联网、发送短信息等等。
如果不允许该操作则返回0,允许返回1,未定义则返回-1。
2、 platformRequest
使用该方法可以访问某些系统功能,例如通用的功能主要有两种
使系统打开浏览器访问某个特定的网址:
platformRequest(“”);
这个功能可以实现用来实现提示用户下载新的程序版本等功能。
使手机拨打特定的电话号码:
paltformRequest(“tel:1860”);
则系统会自动利用手机来拨打1860。
由于作者水平有限,不足之处请海涵和指正。
手机MIDlet是什么东西?
MIDlet 是在支持MIDP 的设备上运行的MIDP 应用。它仅利用MIDP 和CLDC 规范所定义的各. 种API。该应用必须继承MIDlet 类以便让应用管理软件来控制这个MIDlet、从应用描述器中获. 取各种属性,以及对各种状态变化进行通知和请求 add: MIDlet(Mobile Information Devices applet),即移动信息设备小程序. MIDP: 移动信息设备描述(Mobile Information Device Profile,MIDP)是一套Java应用编程接口(Application Programmer’s Interfaces(APIs))。它们与有限连接设备配置(Connected Limited Device Configuration,CLDC)一起向诸如蜂窝电话等移动信息设备提供了一个完整的Java应用运行环境。MIDP中含有下列API包:javax.microedition.lcdui–用户界面(UI)API,它为MIDP应用提供了一整套实现用户界面的功能特性;javax.microediton.rms–移动信息设备描述提供了一种让MIDlets永久储存并在以后可以取回数据的机制。javax.microedition.midlet–这个MIDlet包明确定义了MIDP应用,也定义了和应用环境之间的交互。javax.microedition.io–移动信息设备还描述包括基于有限连接设备配置GenericConnection框架的网络支持。 MIDP是向下兼容的,即MIDP2.0的手机能玩MIDP1.0的游戏。 MIDP1.0有容量限制,软件不能超过64K。 MIDlet 是在支持MIDP 的设备上运行的MIDP 应用。它仅利用MIDP 和CLDC 规范所定义的各. 种API。该应用必须继承MIDlet 类以便让应用管理软件来控制这个MIDlet、从应用描述器中获. 取各种属性,以及对各种状态变化 网上学习所得,希望可以帮到你
满意请采纳