javamidlet是什么的简单介绍

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、从应用描述器中获. 取各种属性,以及对各种状态变化进行通知和请求 。

javamidlet是什么的简单介绍

什么是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、从应用描述器中获. 取各种属性,以及对各种状态变化 网上学习所得,希望可以帮到你

满意请采纳

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月26日 18:43:25
下一篇 2024年3月26日 18:50:43

相关推荐

  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4400
  • javascriptcanvas的简单介绍

    如何使用js在画布上绘制图形 1、可以使用 drawImage()方法把一幅图像绘制到画布上。 以使用三种不同的参数组合。最简单的调用方式是传入一个 HTML 元素,以及绘制该图像的起点的 x 和 y 坐标。 2、效果图:使用JavaScript在画布中绘制文本图形首先我们来看看要在画布上绘制文本图形,需要用到的最重要的属性和方法:font属性:定义文本的字…

    2024年5月23日
    4200
  • cortexm4linux的简单介绍

    Cortex-M4的主要功能 Cortex-M4提供了无可比拟的功能,以将[1] 32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场。 Cortex-M4核心具有浮点单元(FPU)单精度,支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个提高应用程序安全性的内存保护单元(MPU)。 主要是m4比m3多了dsp的支…

    2024年5月23日
    4300
  • 3desjavaphp的简单介绍

    php的3des加密结果与java不一致 他们的加密算法都是通用的,是可以解开的,只要你des的模式,加密长度,初始向量什么的都一样就可以。 JAVA写RSA加密,私钥都是一样的,公钥每次加密的结果不一样跟对数据的padding(填充)有关。Padding(填充)属性定义元素边框与元素内容之间的空间。padding简写属性在一个声明中设置所有内边距属性。 要…

    2024年5月23日
    4700
  • 黑客代码软件学习推荐歌曲的简单介绍

    我想自学编程代码,,目地是“黑”网站,开发出破解代码。有没有这方面的… 这个迭代周期不应该以周为周期或以月为周期发生,而是应该以日为周期。知识等待使用的时间越久,知识这把斧头就越钝。等待学习新知识的时间越长,你就越难以将其融入到代码中。 我认为这个问题问得本身就显得有点矛盾,想学却担心自己看不懂代码学不来,试问哪个编程人员不是从零开始的。坚定信念…

    2024年5月23日
    4700
  • java8种基本类型范围的简单介绍

    java中常用的数据类型有哪些 1、java数据类型分为基本数据类型和引用数据类型,基本数据类型有boolean 、long 、int 、char、byte、short、double、float。引用数据类型有类类型、接口类型和数组类型。 2、java中包含的基本数据类型介绍:\x0d\x0aJava共支持8种内置数据类型。内置类型由Java语言预先定义好,…

    2024年5月23日
    4700
  • linux系统与gpt的关系的简单介绍

    linux下查看分区是不是gpt 看分区会报错,比如:WARNING: GPT (GUID Partition Table) detected on /dev/sda! The util fdisk doesnt support GPT. Use GNU Parted.所以这个sda就是gpt的。 选择“管理”;在“磁盘管理”中,右键“磁盘0”,在弹出的右键…

    2024年5月23日
    5400
  • 北京黑客学习培训的简单介绍

    现在学什么好啊 包括建筑设计、服装设计、珠宝首饰设计等,选择适合自己的设计专业,好好学习,就业容易且收入高。学前教育专业:很多女生喜欢小孩子,且女生一般细心且有耐心,教育行业假期宽裕,工作环境单纯,就业机会多。 现在比较热门好就业的专业有人工智能、机械专业、电子商务专业、人力资源专业、金融学专业、小语种类专业等等。人工智能:人工智能领域的研究包括机器人、语言…

    2024年5月23日
    4100
  • javaee要学那些东西的简单介绍

    java主要学习哪些内容 1、学java最重要的是下面四个内容:掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。 2、Java基础:了解Java的基本语法、数据类型、控制流程、数组、字符串等基础概念。学习面向对象编程(OOP)的原则和概念…

    2024年5月23日
    4200
  • excel自杀的简单介绍

    excel表格中宏代码,具有自杀功能,密码输入错误3次就自动删除表格_百度… 我给楼主一个建议,利用excel自身的密码保护,保护此工作簿的结构,将sheet提前隐藏。这样如果有人将同一份excel打开时,如果不能输入正确的密码,就不能将sheet取消隐藏,就能达到楼主所说的保护了。 如果你还有源文件的话,可以这样试试:打开其他的excel文件,…

    2024年5月23日
    8100

发表回复

登录后才能评论



关注微信