★雪峰的Blog★

Learn Java, earn money!

廖雪峰ID:asklxf
630681次访问,排名57(-1)好友0人,关注者12
asklxf的文章
原创 189 篇
翻译 0 篇
转载 19 篇
评论 515 篇
Xuefeng的公告



新书上市:《Spring 2.0核心技术与最佳实践》!
查看目录
访问JavaEE开发网




自我介绍
Xuefeng北京邮电大学本科毕业,精通J2EE/J2ME,欢迎交流

最近评论
qq7338367:转载走了,可以嘛?
赵:拖动很简单,只要在左键按下界面时候发送消息(161,2,0)就可以拖动了
jeo:p1 = new Paragraph(null);
p1.debug();

为什么编译的时候会有nullpointerexception错误呢?
原来你的代码种有Assert检查document是不是为null,
后来注释掉了,这是为什么?请不吝赐教。
ibsrvk:wow power leveling
xiaoliu216:下载了,没有说明,不知道怎么用
文章分类
收藏
相册
Books
Landscape
MSN
Personal
Java站点
JavaEE开发网(RSS)
Live在线书店
中华诗词
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky

原创 J2ME概念解析收藏

新一篇: Eclipse快速上手指南 (4) | 旧一篇: C++陷阱一例

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

发表于 @ 2005年01月14日 10:54:00|评论(loading...)|编辑

新一篇: Eclipse快速上手指南 (4) | 旧一篇: C++陷阱一例

评论

#静静的想 发表于2005-09-18 11:05:00  IP:
TrackBack来自《J2ME概念解析》

Ping Back来自:blog.csdn.net
#hleadery 发表于2006-06-04 18:09:00  IP: 211.100.21.*
TrackBack来自《J2ME开发专题》

嗬嗬,j2me详细介绍
#闫磊 发表于2006-06-07 21:30:00  IP: 211.100.21.*
TrackBack来自《J2ME开发专题--开发工具篇》

JAVA平台以其良好的开放性和支持能力,得到了众多手机厂商的支持。对众多开发者来说,J2ME程序易于移植,轻松实现“一次编写,到处运行”。J2ME系列开发专题,将带你从最基本的工具安装,环境配置开始,进入移动应用开发的世界。
#NPUnique 发表于2006-06-10 13:19:00  IP: 211.100.21.*
TrackBack来自《J2ME平台知识整理》

j2me 平台
#admiral 发表于2005-01-20 15:12:00  IP: 61.49.162.*
哥们,怎么不接着做坦克了?还差很多呢吧?
#Xuefeng 发表于2005-01-20 15:53:00  IP: 194.138.202.*
太忙了,没时间做,等放假再说
#NPUnique 发表于2006-06-10 13:25:00  IP: 124.203.157.*
你好,我刚开始学j2me,觉得你这篇文章写的很好,就引到我一篇文章里了。我那个主要是做个整理,为了以后自己查找方便。如果你觉得这样做不太合适,可以在我blog留言,我会删掉它的。呵呵。以下是路径:
http://blog.csdn.net/NPUnique/archive/2006/06/10/786079.aspx
#Xuefeng 发表于2006-06-10 18:33:00  IP: 221.220.178.*
推荐你订阅RSS,这是最方便的方法
#NPUnique 发表于2006-06-13 19:29:00  IP: 222.35.70.*
啊?怎么订阅啊?我还不会用rss。是不是本地要有个rss阅读软件?要是有的话,给推荐个?
#Xuefeng 发表于2006-06-16 13:59:00  IP: 222.35.80.*
google在线rss reader:
http://reader.google.com

windows桌面的有feeddemon, google一下有很多2.0破解
#yy8899 发表于2008-04-10 12:57:39  IP: 220.163.22.*
J2ME原来就是一个Java的开发平台
发表评论  


登录
Csdn Blog version 3.1a
Copyright © Xuefeng