J2ME手机游戏设计与开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 课后习题

一、选择题

1.MIDlet-Version表示( )。

A.MIDlet的版本号 B.MIDlet程序包的名称

C.数据存储的最小字节 D.MIDlet需要哪一种J2ME简表

2.下列哪个不是清单文件中必有的属性?( )

A.MIDlet-Name B.MIDlet-Jar-Size

C.MIDlet-Vendor D.MIDlet-Icon

3.下列哪个不是MIDlet类中定义的抽象方法?( )

A.构造方法 B.destroyApp()

C.pauseApp() D.startApp()

4.下列哪个不是MIDlet生命周期的状态?( )

A.暂停状态 B.准备状态

C.运行状态 D.销毁状态

5.当MIDlet生命周期处于( )状态时释放资源,停止正在执行的线程。

A.暂停 B.准备 C.运行 D.销毁

6.notifyPaused()方法是指将MIDlet生命周期进入( )状态。

A.暂停 B.准备 C.运行 D.销毁

7.在进行项目打包时,创建混淆包的目的不包括( )。

A.对MIDlet进行一定程度的保护 B.增加反编译的难度

C.混淆后的包通常会更小 D.混淆后程序会更整洁

8.下列哪个是J2ME应用程序的安装程序?( )

A.MIDlet B.JAD C.JAR D.Java

二、应用题

1.MIDlet的生命期有哪些?对应的方法是什么?这些方法是在什么时候执行的?

2.程序分析。根据以下的代码,回答后面的问题。

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet
{
    private Display display;
    public HelloMIDlet()
    {
        System.out.println("Constructor") ;
        display = Display.getDisplay(this);
    }
    public void startApp()
    {
        System.out.println("startApp Called") ;
    Form t = new Form("画面");
    display.setCurrent(t);
    }
    public void pauseApp()
    {
        System.out.println("pauseApp Called") ;
    }
    public void destroyApp(boolean unconditional)
    {
        System.out.println("destroyApp Called :" + unconditional) ;
    }
}

(1)以上代码的基本结构是什么?

(2)主类、超类名分别是什么?

3.建立第一个J2ME项目并执行。

4.将程序分别打成普通包和混淆包。