J2ME,即Java 2 Micro Edition,是SUN公司推出的在移动设备上运行的微型版Java平台,常见的移动设备有手机,PDA,电子词典,以及各式各样的信息终端如机顶盒等等。
由于移动终端的类型成千上万,而且计算能力差异非常大,不可能像桌面系统那样仅仅两三个版本的JVM即可满足Windows,Linux和Unix系统,因此,J2ME不是一个简单的微型版的JVM。为了满足千差万别的移动设备的需求,SUN定义了一系列的针对不同类型设备的规范,因此,J2ME平台便是由许多的规范组成的集合。
最重要的移动终端当然是手机了,因此,我们主要讨论手机相关的J2ME规范。
Configuration
SUN把不同的设备按照计算能力分为CLDC(Connected Limited Device Configuration)和CDC(Connected Device Configuration)两大类,这两个Configuration是针对设备软硬件环境严格定义的,比如CLDC1.0定义了内存大小为64-512k,任何设备如果支持CLDC1.0,就必须严格满足定义,不能有可选的或者含糊的功能。
CLDC1.0是针对计算能力非常有限的设备定义的,只支持整数运算,不支持浮点运算,早期的Java手机大部分都支持CLDC1.0,如Nokia 3650,Siemens 6688i。
CLDC1.1则增加了浮点运算,因此,在支持CLDC1.1的设备上,可以使用float和double类型的变量。现在的Java手机很多都能支持CLDC1.1,如Nokia 9500,Siemens S65。
CDC则是针对计算能力比较强的设备定义的,如PPC等,CDC平台的JVM基本上和桌面的JVM很接近了,只是可以使用的Package大大少于J2SE的包。支持CDC的非常高端的Java手机也会很快上市。
Profile
和Configuration相比,Profile更多是针对软件接口的定义,Profile有必须实现的,也有可选的功能,因此,Profile更灵活。
最重要的Profile当然是MIDP(Micro Information Device Profile),MIDP定义了能在Java手机上运行的Java程序的规范,包括应用程序生命周期,各种UI界面组件,支持Record存储和Http连接等等,符合MIDP规范的Java小程序被称为MIDlet,可以直接通过无线网络下载到手机并运行。
早期的MIDP1.0规范使我们能在手机上运行有UI界面的Java程序,但是MIDP1.0对游戏的支持不够,必须自己实现许多代码,因此,MIDP2.0规范大大加强了对游戏开发的支持,使开发者能编写更少的代码来创建游戏。
MIDP规范的图形界面基本上都是独立于J2SE的AWT和Swing组件,因为目前手机的计算能力还比较有限,但是,随着手机的CPU越来越快,使得AWT和Swing移植到手机上也将成为可能,因此,基于CDC规范的最新的PBP 1.0(Personal Basic Profile)和PP 1.0(Personal Profile)提供了部分AWT和Swing的支持,目前,部分高端PDA已经可以运行PBP和PP的Java程序了。可以预见,将来大部分的AWT和Swing组件都能移植到手机上。
前面已经说过,和Configuration相比,Profile有许多可选包,比较实用的Profile还有在JSR135定义的MMAPI(Mobile Media API),实现多媒体播放功能;在JSR184定义的M3G API(Mobile 3D Graphics API),实现3D功能;在JSR120定义的WMA(Wireless Messaging API),实现短消息收发。如果你的手机支持某一Profile,如M3G,那么便可以在MIDlet中使用M3G的3D API实现3D游戏。
如果你准备在手机上开发J2ME应用,选择手机时就需要注意厂商支持的CLDC规范,支持MIDP1.0还是2.0,是否支持MMAPI,M3G,WMA等可选包。
Profile虽然定义了Java API接口,但是底层如何实现是由各厂商自己决定的,如M3G定义了3D接口,但是底层实现既可以使用硬件加速,也可以由C程序模拟,或者部分由硬件实现,部分由软件实现。
比J2ME更精简的Java平台被SUN称为JavaCard,运行在信用卡等芯片中,实现电子支付等功能,目前SUN还没有把JavaCard并入J2ME平台。
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Java 2 Micro Edition (J2ME) 技术来开发角色扮演游戏(RPG)游戏。...通过掌握其核心概念和技术,开发者可以创造出吸引人的、充满乐趣的游戏体验,即便是在资源有限的设备上。
J2ME概念解析..............................................................................................................24 j2me进度条与线程化模型.......................................................
本文向大家简单介绍一下JDK、J2EE、J2SE、J2ME概念及区别,J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。
郭克华的书籍很可能深入解析了这些概念,以及如何利用它们来创建交互式的移动应用。 这本书可能会涵盖以下几个关键知识点: 1. **J2ME架构**:介绍J2ME的分层结构,包括KVM(K Virtual Machine)、CDC(Connected ...
虽然这个Demo可能不完美,但其核心概念和方法对于理解和构建自己的中文输入解决方案是非常有价值的。 1. **TextBox与TextField** 在J2ME中,`TextBox`和`TextField`是两个常用的文本输入组件。`TextBox`通常用于...
**J2ME 五子棋源代码解析** Java 2 Micro Edition(J2ME)是一种针对小型设备,如移动电话和嵌入式系统的Java平台。它由Java ME规范定义,旨在提供跨平台的开发能力,使得开发者能够创建能在各种设备上运行的应用...
**J2ME实例解析** 在你下载的“J2ME实例”压缩包中,可能包含了一些基础到高级的J2ME应用示例,这些实例可能涵盖了以下几个方面: 1. **基础UI构建**: 使用MIDP API中的Canvas或Form类创建简单的用户界面,如按钮...
《J2ME手机游戏源码解析与学习指南》 J2ME(Java 2 Micro Edition)是Java平台的一个重要分支,主要用于嵌入式设备和移动设备,尤其是早期的智能手机和平板电脑。它提供了开发和运行应用程序的基本框架,包括游戏...
《J2ME开发大全》是一本专为Java开发者设计的权威指南,全面解析了Java Micro Edition(J2ME)的各个方面。J2ME是Java平台的一个子集,主要用于嵌入式设备、移动设备和消费电子产品的应用程序开发。本书旨在帮助...
综上所述,"自己写的J2ME小例子"是一个利用Java Micro Edition开发的单机游戏项目,涵盖了J2ME的基础概念、开发技术和资源管理等多个方面,对于初学者和经验丰富的开发者来说,都是一个学习和交流的好案例。
《J2ME版深水炸弹:游戏开发与技术解析》 在移动设备的早期时代,J2ME(Java 2 Micro Edition)是开发者们构建移动应用程序的首选平台,特别是对于游戏开发。本项目名为“j2me版本的深水炸弹”,它是一个基于J2ME...
### j2me教程知识点概述 #### 1. J2ME (Java 2 Micro Edition) 概念 ...以上内容涵盖了从 J2ME 的概念介绍到具体示例程序的详细解析,旨在帮助初学者快速入门并掌握使用 J2ME 进行移动设备游戏开发的关键技能。
本文旨在深入解析J2ME的RMS机制,探讨其工作原理及其实现细节。 #### 二、RMS概述 ##### 1. RMS的基本概念 J2ME RMS提供了一种简单而有效的数据存储方式,尤其适用于资源受限的移动设备。RMS的核心是一个基于记录...
通过分析这些源代码,我们可以深入理解J2ME开发中的核心概念和技术。 J2ME是Java平台的一个子集,专门用于资源有限的设备,如移动电话、嵌入式系统和智能家电等。它提供了丰富的API,使得开发者能够构建跨平台的...
4. **用户输入处理**:J2ME平台上的用户输入通常是通过键盘或者触摸屏,这部分代码需要监听并解析用户的移动和旋转命令,实时更新方块的位置。 5. **分数计算**:每当玩家消除一行,就需要更新分数,可能还会根据...
【描述】: J2ME股票系统的源码设计和实现涉及到许多关键概念和技术。首先,它使用了J2ME的MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)两个核心组件,前者提供了...
### j2me手机游戏开发技术详解 ...通过以上介绍,我们不仅了解了J2ME的基本概念和发展历程,还深入探讨了使用J2ME进行游戏开发的技术细节和实践指南。这对于想要进入这一领域的开发者来说是非常宝贵的参考资料。