新手入门:J2ME基本概念解析

概念

  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平台。

时间: 2024-12-24 11:26:57

新手入门:J2ME基本概念解析的相关文章

新手入门:J2ME开发环境的安装和使用

J2ME(Java 2 Micro Edition)作为现在的一种主流的.通用的手机程序开发技术,在实际的开发过程中得到的广泛的使用.而手机程序开发作为一个新兴的软件开发领域,对于人才以及产品的需求还远远没有得到满足,所以手机程序开发技术成为了现在最热门,也是发展前景很光明的技术之一.本文就介绍J2ME技术开发的第一个环节--开发环境的安装和实际的使用. J2ME技术作为一种通用的技术,针对的领域主要是消费类电子设备,包括机顶盒.车载设备.可视电话.手机等各种设备,下面只介绍J2ME技术进行手机

新手入门SEO从何入手

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 SEO的神秘面纱渐渐的被揭开了,如今SEO的普及性非常广,许多企业加入SEO的竞争,希望为企业带来更大的收益.随着SEO的普及,越来越多的人意识到SEO对网站的重要性,SEO的竞争性也增大了.那么新手进入SEO行业该如何入手呢?互联网站上有许多关于这样方面的东西,从我个人看来新手人们SEO从何入手需具体分两种新手: 1.对互联网陌生的新手 对

mac book新手入门-快捷键

mac book新手入门-快捷键 (1)快速启动应用程序 Control+space(空格) 可以启动spotlight search 然后输入你要启动的程序,回车即可启动  类似于IDEA 中的双击Shift     (2)截图 全屏截图:Shift+cmd+3 选择区域截图:Shift+cmd+4   (3)连接远程主机的共享目录 先启动Finder cmd+k     (4)打开本地指定目录 先启动finder Shift+cmd+g   (5)触摸板 三指 往上滑,显示当前打开的程序 类

MindManager新手入门教程

MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强大的功能可以快速捕捉.组织和共享思维.想法.资源和项目进程等等.MindManager新手入门教程专为新手用户设计,包含创建思维导图基本入门操作,让用户快速上手. MindManager思维导图主要由中心主题.主题.子主题.附注主题.浮动主题.关系线等模块构成,通过这些导图模块可以快速创建您需要的思维导图,以下步骤教您如何使用MindManager创建思维导图: 第一步 打开MindManager软件,软件

新手求解答一下-asp.net新手入门,的不理解

问题描述 asp.net新手入门,的不理解 不理解在项目列表添加引用和在后台文件的上方通过use指令添加引用的区别.还有就是有什么快速添加引用打方式吗?跪求大神指点 解决方案 using命令是告诉编译器,我这个类里,使用某个命名空间是,不用再写空间的名字了,让编译器帮你去找

P2P、P2C 、O2O 、B2C、B2B、 C2C的概念解析

P2P.P2C .O2O .B2C.B2B. C2C的概念解析 P2P到底是什么呢? P2P借贷是一种将非常小额度的资金聚集起来借贷给有资金需求人群的一种民间小额借贷模式.P2P是"Peer-to-Peer"的简写,个人对个人的意思,P2P借贷指个人通过第三方平台(P2P公司)在收取一定服务费用的前提下向其他个人提供小额借贷的金融模式. P2P模式 第一种是纯线上模式,是纯粹的P2P,在这种平台模式上纯粹进行信息匹配,帮助资金借贷双方更好的进行资金匹配,但缺点明显,这种线上模式并不参与

新手 帮忙 网页-新手入门 请大神告知怎么在网页上设置 能进入后台数据库查询资料

问题描述 新手入门 请大神告知怎么在网页上设置 能进入后台数据库查询资料 以下是公司前辈让我参考已有文档自己做的程序 也不知道对不对 package com.zjxcsoft.ge.user.action; import java.sql.*; import com.opensymphony.xwork.ActionSupport; import java.sql.Connection; public class UserAction extends ActionSupport { public

新手入门 以下命令求解释

问题描述 新手入门 以下命令求解释 S1=ABCDEFGS2=9898S3=###S4=012345执行concat(replace(S1substr(S1length(S2)length(S3))S3)substr(S4index(S28)length(S2))) 解决方案 你自己分析,理解效果最好 从外层到内层 你分开分析一下 里面就是 concat replace substr 三种对字符串的处理方法 解决方案二: C语言index()函数作用:查找字符串并返回首次出现的位置. 相关函数:

新手入门百度地图开发的(0,0)坐标问题

        对于大部分人来讲,由于百度地图资料众多,过度依赖搜索引擎等等原因.新接触百度地图开发工作其实并不容易.今天说说关于坐标(0,0)的问题.              首先仍然介绍坐标系,我们先不管采用的和wgs84还是gcj02,bd09ll等坐标系,他们有个共同的特点,就是默认坐标(0,0)经纬度均为零的时候.定位位置都会是非洲边上的几内亚湾,在某些缩放级别下,整个地图区域的颜色都是同一个背景色.这个时候就会让新手进入一个误区认为百度地图出bug了,在各处求救说"百度地图不显示地