J2ME简单吗?

2016-02-19 14:34 5 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐J2ME简单吗?,无聊中的都看过来。

【 tulaoshi.com - 编程语言 】

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

有几个想学J2ME的朋友问过我这个问题。我想这个问题可以有两个答案。

J2ME是简单的。

!-- frame contents -- !-- /frame contents --

说其简单,更主要的原因是J2ME开发使用的是Java,离开平台技术范畴(J2SE,J2ME,J2EE),Java语言本身是简单的,或者说“简洁”更为强大。比起C++的程序代码来说,Java Code让人看起来更舒适,也更直观。

另一方面,J2ME的SDK十分丰富,配置也非常简单,假如再借助强大的IDE(如JB和Eclipse,不过在J2ME开发方面,我更倾向于JB),那么有一定的Java基础,J2ME上手实在不是难事。

J2ME并不简单。

更多人说J2ME简单是因为它“小”,所谓的“小”主要是针对其API少。“两三个星期就学完了”,有人如是说。但这个见解我实在不敢苟同。其实恰恰因为它提供的API少,才使得J2ME变得比传统的编程更具挑战。相对于提供了丰富的API的J2SE和J2EE来说,我们需要“自力更生”的范畴要大的多。仅有的API提供给我们了最最基础的功能,剩下的就要靠程序员自己去探索。假如你所需要的各种功能都已经被现成的API实现,那么我们不再需要学习和研究,只要一本API手册就够了。

J2ME的第二个难点在于限制大,当然这也是所有基于移动设备的开发所共同面临的问题。内存的限制,处理速度的限制让我们不得不抛弃很多美好的东西,为每一行代码做尽可能的优化,优化再优化,在内存使用和性能之间寻找平衡点..在J2ME中我们不仅要减少对象的创建,即便是对象的引用也要做到能少则少。在这样的前提下开发出来的优秀的应有、游戏、软件,可以说比桌面平台上的开发更具备含金量。

第三一个,同样是移动开发面临的公共问题:多机型适配难度大。与桌面平台不同,移动设备之间的差异十分巨大,从硬件方面的屏幕分辨率,内存,处理器到底层的KVM实现,到支持J2ME规范的程度,都不尽而同,这使得“一次编译,到处运行”的承诺在几乎成为笑柄。然而,无论如何,J2ME仍然是移动领域跨平台的最佳选择。因为无论是智能手机还是传统手机,无论采用什么样的系统,它们都支持Java,即便需要为多种进行做出更改,其代价也要小得多。同时,也考验编程人员的设计能力,一款设计良好的程序可以把适配的成本减低到最少。

最后一点问题是:KVM的Bug多,不过这一点Sun公司似乎没有什么责任。大家都知道Java的发展分为两步走:规范和实现。Sun和众多厂商制定规范,再由各个厂商根据自己的设备进行实现。然而,不知道是不是厂商的设计水平有限,目前很多机型的KVM实现都不能让人满足,Bug简直是多如牛毛,比如最经典的Nokia 6600,真正为它做过开发的人都应该深有体会。这又从另一个方面增加了开发者做多机型适配的难度。这些Bug可以充分考验编程人员调试能力:)不过随着时间的推移,相信这一点会得到改进,Nokia也一直在推出S60机型的软件升级版本以修正这些Bug。不过对于采用封闭式操作系统S40机型,就无法可想了(事实上S40的bug也要少得多)。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

综上,J2ME并不像大多数人想象的那么“简单”,或者说,J2ME的入门是简单的,但如要做到“精通”,还需要把握各种具有移动开发特色的程序设计、调试技巧,并非一蹴而就之功。

进入讨论组讨论。

来源:http://www.tulaoshi.com/n/20160219/1607238.html

延伸阅读
Ticker对象 Ticker对象是一个项目类型的对象,它的作用相当于一个滚动消息栏,在屏幕的上方显示滚动的信息。 Ticker类的构造函数仅有一个参数,那就是需要滚动显示的消息。 package fancy.test; import Javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ShowTicker extend...
在游戏开发中,有时候我们需要一个时钟来记录游戏的时间,假如时间结束则结束游戏。本文介绍如何在J2ME中使用Timer和TimerTask来实现这样一个时钟,并给出具体代码实例。 在Java.util包中有一个TimerTask类,你可以扩展这个类并且实现他的run()方法,在run()方法中编写我们的逻辑代码。假如我们想制作一个游戏时钟,那么非常简单我们...
一、序言 昨天在网上闲逛,发现一篇讲解用Delphi实现华容道游戏的文章,颇受启发.于是,产生了将华容道游戏移植到手机中去的冲动.现在手机游戏琳琅满目,不一而足,华容道的实现版本也很多.正巧不久前笔者对J2ME下了一番功夫,正想借这个机会小试牛刀。选用J2ME的原因还有一个就是目前Java开发大行其到,无线增殖业务迅猛发...
概述 目前,很多手机已经具备了蓝牙功能。虽然MIDP2.0没有包括蓝牙API,但是JCP定义了JSR82, Java APIs for Bluetooth Wireless Technology (JABWT).这是一个可选API,很多支持MIDP2.0的手机已经实现了,比如Nokia 6600, Nokia 6670,Nokia7610等等。对于一个开发者来说,假如目标平台支...
使用了近一个月的Eclipse来做J2ME开发,越来越觉得他方便好用。即时语法检查不但预先避免了很多错误,而且在修改代码时能迅速定位到受影响的代码。修改类名类成员名能自动修改所有关联的代码。Eclipse还提供了多种视图(perspective)方便的治理工程,并可以同时打开多个工程。其他的一些特点如支持代码折叠的编辑器,自动生成代码,格式化代码...

经验教程

363

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部