首页编程java编程java midlet 是什么?请问MIDlet是什么

java midlet 是什么?请问MIDlet是什么

编程之家2023-10-1383次浏览

这篇文章给大家聊聊关于java midlet 是什么,以及请问MIDlet是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

java midlet 是什么?请问MIDlet是什么

请问MIDlet是什么

在J2ME编程过程中,MIDlet是最核心的类之一,熟悉该类的使用是J2ME学习过程中必须首先掌握的类,下面就结合实际介绍一下该类的实际使用。

众所周知,J2ME程序都是从MIDlet类开始执行,系统规定了MIDlet的生命周期。规定MIDlet程序有三种状态:

1、暂停状态

java midlet 是什么?请问MIDlet是什么

2、运行状态

3、销毁状态

系统在执行MIDlet程序时,首先构造一个MIDlet类型的对象,然后使程序进入到暂停状态,按照生命周期的规定,系统会自动调用MIDlet对象的startApp方法使程序进入到运行状态,开始程序的执行。如果在创建MIDlet对象的过程中,或者是调用startApp的方法中发生了异常,则系统会自动调用MIDlet对象的destroyApp方法进行到销毁状态,也就是使程序退出。

java midlet 是什么?请问MIDlet是什么

所以生命周期中的第一个需要注意的地方就是熟悉在以上状态转换过程中,系统会自动调用的方法,然后在实际编写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(“http://wap.sina.com.cn”);

这个功能可以实现用来实现提示用户下载新的程序版本等功能。

使手机拨打特定的电话号码:

paltformRequest(“tel:1860”);

则系统会自动利用手机来拨打1860。

由于作者水平有限,不足之处请海涵和指正。

手机游戏一般是用什么语言开发

手机游戏一般是用Unity、COCOS、java、C语言开发的,但也要看具体情况,有的手机游戏也可能是用HTML5开发的。

flash、java游戏俗称小游戏,基本上都是一些休闲类的、傻呆萌的情节和操作,这类游戏开发相对比较简单,会javascript、flash cs、java就可以进行开发了。

一个大型游戏的开发,需要庞大的团队使用各种各样的语言和工具来完成。总结一下,主要有C、C++、汇编语言、着色器语言、脚本语言、高效的开发语言C#或Java。

iOS主要是用C++或Object C开发,安卓主要用Java开发。学习游戏开发,一般的大型游戏开发不是单一用某一种软件语言的问题,要想知道哪家靠谱也不难,如Java基础打好后,未来的发展前景也是非常好的,现在手机游戏主要有两个平台:iOS和安卓。

开发游戏我们经常听到的是游戏引擎,一个游戏引擎决定一个游戏最基本的东西操作和效果,那么一般的游戏开发架构从底到顶一般是Direct X游戏引擎。

Direct X可是大名鼎鼎相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X接口为了追求高性能功能非常简单基本的绘图功能,不利于游戏的高效开发。

此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C、C++和少量的汇编语言。

什么是类的继承性Java中子类和父类有什么关系

1.继承,是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于可以抽取多类事物的共性。子类中有和父类中可访问(可继承到子类)的同名同返回类型同参数表的方法,就会覆盖从父类继承来的方法。

2.(1)standalone applications,或称为applications:可独立执行的程序

针对用户接口的不同,可分为:

a) console application

b) windows application

(2)embedded applications:嵌入式应用程序,必须依附在其它程序里执行

a)applets:内嵌于网页并通过因特网传递,在用户端使用支持Java的浏览器内动态地由服务器端下载并执行的小程序

b)JSP、Java Servelet:以网页的形式存在于服务器端并且通过网络下载至支持Java的浏览器内执行

c)MIDlet:利用J2ME MIDP所开发而成,执行环境为移动电话及PDA等

d)Spotlet:利用J2ME CLDC所开发而成,执行环境为PDA等。

3.FlowLayout,流式布局管。尝试在一行中按增加顺序摆放组件,窗体大小改变时,组件位置会相应发生改变

BorderLayout,按方位进行布局管理,(North,South,East,West,Middle)不明确指定,就会默认加载在中间(Middle),每个部分只能放一个组件

GridLayout,网格布局,通过行列,间距,来用网格分割,把组件放入如网格中,先行后列摆放组件。可以保证每个组件的大小都是一样的

CardLayout,卡片布局,组件重叠放置。

GridBagLayout,组件可以跨行跨列的网格布局。

Frame的默认布局管理器borderlayout

Panel的默认布局管理就是FlowLayout。

关于本次java midlet 是什么和请问MIDlet是什么的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

java中的io类的作用是什么(Java的IO的类有哪些都有什么用)java中取余是什么意思 取余是什么意思