J2ME
的概述,结构,现在与未来,以及我能用J2ME做什么?
原文出处:
目录
对于这一篇文章,我觉得没有比现有的资料更详细了,所以我把那些现有的文字搬到这里来。并把这些内容作为我的系列文章的砸转石。
J2ME 是什么?
Sun Microsystems 将 J2ME 定义为“一种以广泛的消费性产品为目标的的高度优化的 Java 运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统。” 自从 1999 年 6 月在 JavaOne Developer Conference 上声明之后,J2ME 为小型设备带来了 Java 语言的跨平台功能,允许移动无线设备共享应用程序。有了 J2ME,Sun 已经使 Java 平台能够适应集成了或基于小型计算设备的用户产品。
J2ME 总体架构
J2ME 使用配置和简表定制 Java 运行时环境 (JRE)。作为一个完整的 JRE,J2ME 由配置和简表组成,配置决定了使用的 JVM,而简表通过添加特定于域的类来定义应用程序。
配置
将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定 JVM。我们将在 J2ME 配置一章中详细讨论配置。
简表
定义应用程序;特别地,它向 J2ME 配置中添加特定于域的类,定义设备的某种作用。我们将在 J2ME 简表一章中深入介绍简表。
下面的图表描述了不同的虚拟机、配置和简表之间的关系。它同时把 J2SE API 和它的 Java 虚拟机进行了比较。虽然 J2SE 虚拟机通常被称为一种 JVM,但是 J2ME 虚拟机、KVM 和 CVM 都是 JVM 的子集。KVM 和 CVM 均可被看作是一种 Java 虚拟机 -- 它们是 J2SE JVM 的压缩版,并特定于 J2ME。
配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定 JVM。虽然还可能在将来定义其他的配置,但当前 J2ME 存在两种配置:
- 连接限制设备配置 (CLDC) 特别与 KVM 一起用于内存有限的 16 位或 32 位设备。这是用于开发小型 J2ME 应用程序的配置(虚拟机)。(从开发的角度来看)它的大小限制让它比 CDC 更有趣、更具挑战性。CLDC 同时还是用于开发绘图工具应用程序的配置。 Palm 电脑便是一个运行小应用程序的小型无线设备的示例。我们将在 J2ME 配置一章中深入介绍 CLDC。
- 连接设备配置 (CDC) 与 C 虚拟机 (CVM) 一起使用,用于要求内存超过 2 兆的 32 位体系结构。互联网电视机顶盒便是这类设备的一个示例。虽然稍后我们将在 CDC API 一章中简要介绍 CDC,但它并不在本教程的范围内。
简表定义了您的应用程序所支持的设备类型。特别地,它向 J2ME 配置添加了特定于域的类来定义设备的某种作用。简表建立在配置的顶部。已经为 J2ME 定义了两种简表:KJava 和移动信息设备简表 (MIDP),它们也被建立在 CDLC 上。这两种简表适用于小型设备。
有一种纲要简表,您可以在它的上面创建自己的简表,这种纲要简表也称为基础表,可供 CDC 使用。然而,在本教程中,我们只重点介绍建立在 CLDC 顶部,适用于小型设备的简表。
我们将在后面的章节中讨论上述这些简表,还会使用 KJava 和 MIDP 建立一些示例应用程序。
J2ME 目标设备
使用 CLDC 开发的 J2ME 应用程序的目标设备通常具有以下特征:
- 可供 Java 平台使用的 160 到 512 千字节的总内存
- 功率有限,常常是电池供电
- 网络连通性,常常是无线的、不一致的连接并且带宽有限
- 用户接口混乱,程度参差不齐;有时根本就没有接口
一些 CLDC 支持的设备,包括无线电话、寻呼机、主流个人数字助手 (PDA),以及小型零售支付终端。
依照 Sun Microsystems,CDC 的目标设备通常具有以下特征:
- 使用 32 位处理器
- 2 兆字节或更多可供 Java 平台使用的总内存
- 设备要求的 Java 2 “蓝皮书”虚拟机的全部功能
- 网络连通性,常常是无线的、不一致的连接并且带宽有限
- 用户接口混乱,程度参差不齐;有时根本就没有接口
一些 CDC 支持的设备,包括常驻网关、智能电话和通讯器、PDA、管理器、家用电器、销售网点终端以及汽车导航系统。
下面的图表描述了支持 J2ME 应用程序的设备,同时说明了 J2ME 适合 Java 平台之处:
以上是从官方文档摘录下来的文章。下的一些文字是从j2medev.com上获取的,版权贵j2medev.com所有。我只是提供给大家学习之用
J2ME的现状。
随着移动通信的突飞猛进,移动开发这个新鲜的字眼慢慢成为开发者关注的热点。在CSDN
的最近一份调查显示,有24.34%的受访者涉足嵌入式/移动设备应用开发,这个数字可能略高于实际的比例,但也足可说明嵌入式/移动设备应用开发是一块诱人的新鲜奶酪。J2ME(Java 2Micro Edition)是嵌入式/移动应用平台的王者,Linux 和WinCE 分列二、三位。Nokia 等厂商力推的Symbian 平台目前开发者占有率尚未达到满意水平,考虑到调查项合并了嵌入式设备(例如PDA)和移动设备(例如智能手机),Symbian、WinCE 系列在移动平台上会是竞争的主要两方。如果厂商能在标准实现上做得更加规范,则J2ME 的跨平台特性会挥得更加淋漓尽致,继续保有王者地位。本章将从J2ME 的体系结构和MIDlet 应用程序模型。
J2ME的未来。
结合我从事1年的j2me工作来讲,j2me在企业方面的应该还算不多,而且成功的也比较少,不过在游戏上的到是全面开花,现在很多pc上的游戏手机上都有复制品。而且收费的方式1.以移动百宝箱的形式,比如下载一个游戏给多少钱,这样的模式。
2.网络游戏的形式,比如售卖点卡之类的,虚拟物品交易等。(不过这方面占的比例很小)。
3.会员收费制度,比如一些提供增值服务的软件。靠收取会员费用。这方面的应用有IM,股票之类的交易系统,彩票资讯系统等。
现阶段J2ME的发展还处在一个爆发增长的前期。出于JSR出的各个规划,对于各大手机厂商支持不统一,导致了业界所说的write once debug anywhere! 另外一个就是手机网络的各种限制。比如移动全球通跟现在的互联网一样,可以支持各种协议,但是动感地带等其他卡却只能支持HTTP。所以一些高端的应用没办法推广。而且网络速度也不快。
现在可以说是J2ME本身的技术已经相对成熟,而且市面上的终端基本都符合了大规模的应用J2ME,就只欠东风了,而这东风我想就是-----3G了。
所以说J2ME的未来在3G
经过上面的学习,我想大家对J2ME也算是有可初步的认识了。有了基本认识,心里自然就会想到,我学习它就是要让它为我所用,这是最重要的。J2ME能为我做些什么了?下面让我们来看看我找的这些优秀的应该吧。
发达通----一个足球即时资讯软件,这款软件是我入道的第一个j2me软件。网络地址是:
BOBI -----同上, 地址:
http://www.exgoal.com/ViewPage.action?siteNodeId=19
UCWEB ---- 一个用j2me写成的Wap浏览器,即说有相当部分人群在使用.
地址:
http://www.ucweb.com/
航海家 --- 同上,听说活跃用户超过了UCWEB了。
WAP EXPLERE ---同上,这个软件只是完成了一个框架,出自我的手笔。
6.至于股票之类的应用想来也很多,大家可以上网搜索下,游戏这里就不做介绍了
综合可以大概了解到,我们能做以下方面的工作:
游戏。
企业应用,比如足球咨询,彩票咨询,配合SP使用,做的好的话,前景也不错
通用软件,好的软件是永远被人记住的
在这里我总结下J2ME能实现的功能
提供一个高级的UI实现各种企业应用程序
提供一个低级的UI实现游戏,其他软件所需要的基础设施。
提供对本地程序的调用,比如调用一个本地Wap浏览器。
提供对本地文件的访问
提供对本地电话号码等信息的读取
提供对MMS,SMS等支持,也可以提供打电话的支持
提供对音频,视频文件的处理API。这样我们就可以构建各种丰富的娱乐软件了。
提供对网络的基本支持。包括http等协议。这样就可以构建丰富的网络应用程序
提供J2SE的简化API,具体要去查看API。
10.3D的支持。这样就可以构建一个好游戏了。
11.其他。
10.提供
一个入门的详细的例子,等着我啊!!!!!哈