`
izuoyan
  • 浏览: 9220102 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

J2ME中文教程 1 J2ME技术概述

阅读更多

作者:mingjava 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=278

随着移动通信的突飞猛进,移动开发这个新鲜的字眼慢慢成为开发者关注的热点。在CSDN的最近一份调查显示,有24.34%的受访者涉足嵌入式/移动设备应用开发,这个数字可能略高于实际的比例,但也足可说明嵌入式/移动设备应用开发是一块诱人的新鲜奶酪。J2MEJava 2 Micro Edition)是嵌入式/移动应用平台的王者,LinuxWinCE分列二、三位。Nokia等厂商力推的Symbian平台目前开发者占有率尚未达到满意水平,考虑到调查项合并了嵌入式设备(例如PDA)和移动设备(例如智能手机)SymbianWinCE系列在移动平台上会是竞争的主要两方。如果厂商能在标准实现上做得更加规范,则J2ME的跨平台特性会发挥得更加淋漓尽致,继续保有王者地位。本章将从J2ME的体系结构和MIDlet应用程序模型。

1.1 什么是J2ME

学习J2ME以前知道什么是J2ME是非常重要的。J2MESUN公司针对嵌入式、消费类电子产品推出的开发平台,与J2SEJ2EE共同组成Java技术的三个重要的分支。J2ME实际上是一系列规范的集合,由JCP组织制定相关的Java Specification RequestJSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK测试,这样确保兼容性。比如MIDP2.0规范就是在JSR118中制定的。可能接触过J2ME的开发者会觉得说J2ME是一系列的规范不准确吧。因为我们在开发中用到了很多例如CLDCConnected Limited Devices Configuration)和MIDPMobile Information Devices Profile)等内容。其实这并不矛盾,因为这些就是在相关规范中制定的。如果你还没有很好的理解这个问题,没有关系,请继续往下面看,我们开始认识J2ME平台的体系结构。

1.2 J2ME平台体系结构

J2ME平台是由配置(Configuration)和简表(Profile)构成的。配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java虚拟机。简表是针对一系列设备提供的开发包集合。在J2ME中还有一个重要的概念是可选包(Optional Package),它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME中制定了JSR82Bluetooth API)提供了对蓝牙的支持。

目前,J2ME中有两个最主要的配置,分别是Connected Limited Devices ConfigurationCLDC)和Connected Devices ConfigurationCDC)。他们是根据设备的硬件性能进行区分的,例如处理器、内存容量等。由于这个标准是在2001年的时候指定的,而现在移动终端的处理能力和内存容量发展很快,如果还按照这个标准来评判可能就不准确了。 因此我们只是列出标准,供读者参考。本教程将主要讲解基于 CLDCJ2ME平台的相关内容。随着技术和硬件设备的不断发展,J2ME开发网将逐步推出基于CDCJ2ME平台介绍。

CDC的硬件参数:

l 2M以上内存。

l 具有网络连接能力,通常为无线网络。

l 需要实现java虚拟机规范的全部功能。

l 32位或者64位的处理器。

CLDC的硬件参数:

l 512 KB 以下内存

l 有限能源供应(通常使用电池)

l 有限或非持续网络连接

l 简单的用户界面

l 16位或者32位的处理器

从上述的标准中我们不难看出CLDC主要针对那些资源非常受限的设备比如手机、PDA、双工寻呼机等。而CDC主要面对那些家电产品,比如机顶盒、汽车导航系统等。简表是以配置为基础的,例如Mobile Information Devices ProfileMIDP)就是CLDC上层的重要简表。与配置的纵向特性不同的是,简表是横向的。下图是J2ME体系结构的框图:

J2ME体系结构框图

1.3 MIDlet应用程序的生命周期

理解J2ME的体系结构并不像想象的那么容易,我们觉得读更多的资料帮助也不大,我们直接迈向J2ME开发也许会对你理解J2ME平台体系结构这个重要的概念有所帮助。在MIDP中定义了一种新的应用程序模型MIDlet,它是被Application Management SoftwareAMS)管理的。AMS负责MIDlet的安装、下载、运行和删除等操作。在被AMS管理的同时,MIDlet可以和应用管理软件通信通知应用管理软件自己状态的变化,通常是通过方法notifyDestroyed()notifyPaused()实现的

MIDlet有三个状态,分别是pauseactivedestroyed。在启动一个MIDlet的时候,应用管理软件会首先创建一个MIDlet实例并使得他处于pause状态,当startApp()方法被调用的时候MIDlet进入active状态,也就是所说的运行状态。在active状态调用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet进入destroyed或者pause状态。值得一提的是destroyApp(boolean unconditional)方法,事实上,当destroyApp()方法被调用的时候,AMS通知MIDlet进入destroyed状态。在destroyed状态的MIDlet必须释放了所有的资源,并且保存了数据。如果unconditionalfalse的时候,MIDlet可以在接到通知后抛出MIDletStateChangeException而保持在当前状态,如果设置为true的话,则必须立即进入destroyed状态。下图说明了MIDlet状态改变情况:

MIDlet状态图

下面通过一个例子来验证MIDlet应用程序的生命周期:

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class HelloWorld extends MIDlet{

private Display display;

//构造函数

public HelloWorld(){

display = Display.getDisplay(this);

System.out.println("Constructor");

}

public void startApp(){

System.out.println("startApp is called.");

Form f = new Form("HelloTest");

display.setCurrent(f);

}

public void pauseApp(){

System.out.println("pauseApp is called.");

}

public void destroyApp(boolean unconditional){

System.out.println("destroyApp is called.");

}

}

编译该程序后运行,控制台上就会依次输出:

Constructor startApp is called.

当我们退出该程序时,控制台就会输出:

destroyApp is called.

对于详细的生命周期问题,读者可以查看其他教程籍或者本指南以后的更新的版本。

最后,简要说一下J2ME项目的开发流程作为本章的结尾。开发流程一般是按照如下顺序:编写源程序、编译为class文件、进行预校验、打包和发布应用程序。关于详细的开发流程以及如何使用集成开发环境开发J2ME应用程序,会有其他的文章讲解。

分享到:
评论

相关推荐

    J2ME中文版教程 J2ME教程

    1. **J2ME概述**:教程首先介绍了J2ME的基本概念,包括其架构、主要组件和目标设备。J2ME由配置(Configurations)和 profiles(Profiles)组成,如CLDC(Connected Limited Device Configuration)和MIDP(Mobile ...

    J2ME中文教程,J2ME手机程序开发

    **J2ME中文教程——开启手机程序开发之旅** Java 2 Micro Edition(J2ME)是Java平台的一个重要分支,专为资源有限的嵌入式设备设计,包括移动电话、智能家电、数字电视等。本教程将深入讲解J2ME在手机程序开发中的...

    j2me 中文教程 开发环境 J2ME语言

    第一章 “J2ME 技术概述”让你在学习J2ME 以前知道什么是J2ME。本章介绍了J2ME 平 台的体系结构和MIDlet 生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC 简介”介绍了MIDP 的基础Java Community ...

    j2me中文教程

    1. J2ME概述: J2ME提供了一个灵活的框架,使开发者能够为各种资源受限的设备编写可移植的应用程序。它由一组配置(Configurations)和 profiles(Profiles)组成,如基础配置(CLDC)和无线信息设备配置(MIDP),...

    J2ME中文教程(包含代码)

    **J2ME中文教程概述** Java 2 Micro Edition(J2ME)是Java技术的一个重要分支,主要用于嵌入式设备和移动设备上的应用程序开发,包括手机、智能手表、数字电视等。本教程由作者sss在2006年发布,旨在帮助开发者...

    j2me开发教程全集

    **J2ME开发教程全集概述** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为资源有限的嵌入式设备和移动设备设计,如手机、智能手表和家用电器等。本教程全集将深入探讨如何利用J2ME进行应用程序和游戏的...

    J2ME 中文教程

    第一章 “J2ME技术概述”让你在学习J2ME以前知道什么是J2ME。本章介绍了J2ME平台的体系结构和MIDlet生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC简介”介绍了MIDP的基础Java Community Process...

    J2ME中文教程(From IBM)

    **J2ME中文教程概述** Java 2 Micro Edition(J2ME)是Java技术的一个重要分支,主要用于开发在资源有限的设备上运行的应用程序,如移动电话、智能家电、嵌入式系统等。J2ME提供了跨平台的能力,使得开发者可以编写...

    j2me开发教程全集.

    **J2ME开发教程全集概述** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为资源有限的嵌入式设备,如移动电话、PDA和家用电器设计。它提供了运行Java应用程序的环境,使开发者能够创建跨平台的应用程序,...

    J2ME中文教程 PDF

    **J2ME中文教程概述** Java 2 Micro Edition(J2ME)是Java技术的一个重要分支,主要用于开发在资源有限的设备上运行的应用程序,如移动电话、智能家电、PDA和嵌入式系统等。这个J2ME中文教程详细阐述了J2ME的各个...

    J2ME中文教程

    **J2ME中文教程概述** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发在有限资源的设备上运行的应用程序,如移动电话、智能卡、家用电器和嵌入式系统。本教程是针对中文用户设计的,旨在帮助...

    J2ME的开发教程.pdf

    #### 一、J2ME概述 J2ME,全称为Java 2 Platform Micro Edition,是Sun Microsystems为嵌入式设备和移动设备设计的一套Java平台。它包含了Java语言的基本特性,以及一组专门为资源有限的设备优化的APIs。J2ME的主要...

    J2ME中文教程,适合初学者学习的资料

    一、J2ME概述 J2ME由Java ME配置(Configurations)和Java ME框架(Profiles)组成。配置定义了设备的最低硬件需求,如CLDC(Connected Limited Device Configuration)适用于内存和处理能力有限的设备;而FP...

    J2ME 中文版教程

    第一章 “J2ME 技术概述”让你在学习J2ME 以前知道什么是J2ME。本章介绍了J2ME 平 台的体系结构和MIDlet 生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC 简介”介绍了MIDP 的基础Java Community ...

    J2ME 中文教程1.01a

    第一章 “J2ME技术概述”让你在学习J2ME以前知道什么是J2ME。本章介绍了J2ME平台的体系结构和MIDlet生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC简介”介绍了MIDP的基础Java Community Process...

    J2ME教程 初学者的好资料

    **J2ME教程 初学者的好资料** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专门设计用于资源有限的嵌入式设备,如移动电话、智能家电和电子游戏机等。本教程面向初学者,旨在提供一个全面的J2ME学习路径,...

Global site tag (gtag.js) - Google Analytics