J2ME手机高级编程

出版时间:2009-6  出版社:机械工业出版社  作者:汪永松  页数:297  
Tag标签:无  

前言

  对于正在或者曾经在J2ME平台上进行开发的程序员来说,J2ME平台开发这个话题也许算是老生常谈了。但是反过来讲,哪些才算是移动平台开发的新主题呢?  2008年对于移动平台来说也许是不平静的一年。自从Google公司在2007年底正式发布Android手机平台之后,就开始大张旗鼓地为第一款Android手机的推出作准备,并宣布这款手机将在2008年底面市。2008年4月,微软在CTIA Wireless大会上正式发布了Windows Mobile 6.1,除了大范围对已有软件进行升级外,还为智能手机和PDA设备带来了大量的增强型新特性。同年6月,世界最大的移动电话生产商NOKIA终于下定决心收购了全球最大的手机操作系统开发商Symbian,以此来应对Google Android等日益增长的竞争威胁。2008年9月,Google公司如约推出第一款Android平台的手机:美国运营商T-Mobile USA 在纽约正式发布第一款Google 手机-T-Mobile G1,再次掀起了全球手机平台之争的波澜。  然而在这些各式各样的手机平台纷争的背景下,Java在手机平台开发方面始终占据一席之地:Android提供的SDK本身就是Java开发的,Symbian的操作系统对J2ME的支持是最好的,Windows Mobile以及其他基于Linux系统的手机平台也都支持Java虚拟机……Java突出的开放性似乎早已决定了其在手机平台开发方面的主导地位,其良好的实用性在一个又一个平台中不断得到体现。  从Java平台的演变史来说,在20世纪90年代末期,由于互联网浪潮的推动,PC市场份额不断扩大,Java平台如鱼得水,在桌面平台和互联网应用领域的优秀表现令人瞩目,并逐步从桌面平台先后剥离出J2EE和J2ME平台,内容涵盖了从嵌入式设备到企业级应用,从而形成了完整的Java平台体系。从性质上讲,前者是封闭式、面向嵌入式应用的平台,而后者却是开放式、面向企业应用的平台。笔者不能判定孰轻孰重,只能说是各有千秋,因为这些平台和技术都是由应用而产生,所以说实用之道才是王道。  随着2008年冬季的来临,全球经济形势进一步恶化,众多的IT企业和员工也开始进入了漫长、寒冷的“冬天”。这从侧面向IT企业和开发人员提出了一个问题:如何才能让技术和应用更加具有竞争力和生命力?不言而喻,只有实实在在地给客户和社会带来益处的应用,而不是空泛的噱头和一些空洞的概念,才能够被更好地接受。  基于以上总结和思考,笔者力求在透彻地介绍J2ME平台开发的每一项技术时,也努力地表述如何学习和思考这些技术及其应用模式。希望读者不仅能立足于当前,更能做到举一反三;不仅真正地学会如何在J2ME手机平台上开发出具有实用价值的程序,还可以平稳地转移到其他的手机平台进行开发,例如Android平台。  本书的特色  本书内容最为鲜明的有3点:第一点,结合笔者的实际开发经验,将J2ME平台的很多概念(例如,配置、功能子集、let框架等)简单化、通俗化,不仅令人印象深刻,而且还能很好地用于启发理解其他的技术平台;第二点,笔者非常关注初学者的实践动手过程,对于开发环境的搭建,可选包的引入以及API资料的获取都进行了详尽的说明,力求保证初学者能够做到亲自动手实践,从而尽快打开J2ME平台开发之门;第三点,重点介绍各种J2ME技术的应用模型,并配以详细的开发过程及心得要点,最终以实机环境来验证开发结果。通过对应用模型的分析和探讨,让开发目标能够紧密结合客户的实际应用。通过实机环境来暴露只有在实际J2ME手机平台开发过程中才能遇到的很多问题,而通过这些在模拟器上无法遇到的挫折,才能够让读者对实际的J2ME手机平台开发产生深入、全面的认识。  本书内容的编排  本书的内容安排大致上遵循“由表及里,由内而外,由专项到综合”,即从大致的概要、框架到具体的技术内容;从系统内部(本地文件系统等)到系统外部(网络通信、无线通信等);从专项的J2ME技术(文件系统、无线通信、网络通信、用户界面等)到结合多种技术的应用(多媒体开发、移动商务应用等)。  第1章介绍J2ME平台开发的基础和技术概要。第2章介绍如何搭建开发及验证环境。通过这两章,读者可以了解J2ME平台的主要概念、框架和技术,并学会搭建开发环境,了解如何获取和使用开发资料,并在此基础上进行初步的开发。  作为了解手机设备本地系统的第一步,第3章介绍文件系统的应用。通过这一章,读者可对手机平台文件系统形成比较深入的认识,熟悉J2ME文件连接可选包的使用,了解如何结合桌面平台来扩展手机平台的应用。  而作为手机平台与外部系统沟通的第一步,第4章和第5章介绍网络通信和无线通信,包括Web访问,数据报应用以及短信、彩信和蓝牙通信等。通过这些应用实例,读者可以了解手机平台的通信方式和无线通信应用模式,从而打开手机系统与外部交互的大门。  在读者具备通用用户界面基础开发技能的前提下,第6章主要介绍底层用户界面的编程,并以一款《碰运气》游戏和电子地图浏览器来详细介绍底层用户界面的应用模型和发展方向。通过这些内容,希望读者能够熟练掌握手机系统的底层用户界面编程技巧。  在读者了解了文件系统、无线通信技术以及用户界面后,第7章介绍了年轻读者最感兴趣的手机多媒体编程。其内容包括音乐播放、视频播放、动画播放、摄像头视频采集等。通过将这些程序移植到实机的实践过程,让读者深刻体会到移动平台开发的“玄机”和艰辛。  等到读者玩够了(游戏开发)、听够了(音乐播放器)和看够了(视频播放器),接下来就应该做“正事”了。第8章介绍了记录管理系统在持久化方面的应用;第9章介绍了手机个人信息管理,对象数据库Db4o以及关系型数据库Derby等嵌入式数据库在J2ME平台上的商务应用。第10章介绍了XML模型在J2ME平台上的应用以及与其他Java平台的结合应用。第11章介绍了有关手机的系统信息和如何安装手机程序。通过在实机上运行程序让读者从开发的成果中获得成就。  本书中的一些约定  注意 提醒读者应该给予重视的内容。  提示 给出对读者有所帮助的一些技巧。  本书的全部源代码按章划分父文件夹,以工程文件夹为单位存放。源代码的使用可以参考附录C(随书源代码的使用说明)。  (1)大括号格式。本书代码的大括号格式为K&R格式(Brian Kernighan和Dennis Ritchie,经典著作《C程序设计语言》的作者),即开括号总是与使用它的语句在同一行,而闭括号总是位于它所关闭的语句的下一行,并且与该语句对齐。见代码Q-1中第1行和第8行中的大括号。  (2)命名方式。本书代码的函数名采用与J2ME平台相同的方式,即首单词小写,后续单词的首字母大写。例如,代码Q-1中第3行的showMe和第6行的sendMMS方法。  变量名也采用与函数名相同的形式,但是首部分是该变量类型的缩写(有点类似匈牙利命名法),例如,第2行的cmdDiscard和第5行的cmdSend变量,首部的cmd表示该变量类型为Command。  类名采用骆驼命名法,例如,MMSSendPanel、MainMIDlet、MainPanel。  包名全部采用小写单词,例如,filechooser、mms。  养成良好的编码风格对于任何程序员来说都是十分重要的,可以说编码风格是判断一个程序员是不是“老手”的标杆。对于刚起步的程序员,在编码过程中首先要树立编码风格的意识,再通过不断地实践和摸索,才能逐步形成自己的编码风格。  最后,希望朋友们开发成功!

内容概要

  本书从J2ME手机平台的当前主流应用和发展趋势出发,立足实际的开发案例,介绍了J2ME手机平台开发的实用技术和应用模式。本书的内容主要包括:手机文件系统、网络通信、无线通信(短信通信、彩信通信和蓝牙通信)、底层用户界面应用(游戏开发和电子地图浏览)、多媒体编程(音乐播放器、视频播放器和摄像头视频采集等)、持久化应用、移动商务应用(对象数据库Db4o和嵌入式关系型数据库Derby)和XML模型应用等。  本书主要面向具有一定Java平台开发经验的开发人员,或者对手机平台开发感兴趣的Java程序员。对于初学者,笔者希望通过本书可以帮助他们快速熟悉开发环境、掌握学习手机平台开发的方法,并对J2ME手机平台框架形成清晰的认识。对于高级开发人员,笔者相信本书在蓝牙通信、电子地图、多媒体编程和移动商务应用方面会给他们带来一定的启发。  本书的源代码可从http://www.cmpbook.com/下载。

书籍目录

出版说明前言第1章  J2ME开发起步  1.1  引言  1.2  常用概念及缩略语  1.3  J2ME平台透析   1.3.1  J2ME平台的内涵   1.3.2  J2ME平台的外延  1.4  J2ME平台技术概要   1.4.1  let架构   1.4.2  通用连接框架   1.4.3  无线电技术   1.4.4  液晶设备用户界面   1.4.5  多媒体框架   1.4.6  持久化   1.4.7  个人信息管理   1.4.8  JAXP和Web Service   1.4.9  JDBC  1.5  写在开发之前的经验   1.5.1  从MIDlet到Piglet   1.5.2  由奢入俭难—克服资源限制   1.5.3  死锁预防无处不在   1.5.4  淮橘北枳—模拟器环境与实机的距离 第2章  开发及验证环境  2.1  开发环境   2.1.1  集成开发环境   2.1.2  源代码编辑工具   2.1.3  模板代码  2.2  开发资料的获取  2.3  验证环境   2.3.1  模拟器   2.3.2  实机—NOKIA 第3章  文件系统  3.1  文件系统开发概述  3.2  J2ME文件系统概述   3.2.1  JSR 规范   3.2.2  文件可选包的引入   3.2.3  使用文件可选包的步骤  3.3  手机文件浏览器   3.3.1  功能说明   3.3.2  设计分析   3.3.3  实现过程  3.4  手机文件选择组件   3.4.1  手机文件选择组件开发概述   3.4.2  文件选择功能组件化的考虑   3.4.3  功能说明   3.4.4  设计说明   3.4.5  文件选择功能组件化小结  3.5  手机文件浏览器在实机上运行的注意事项   3.5.1  内存不足   3.5.2  安全确认提示  3.6  API参考资料 第4章  网络通信  4.1  J2ME网络通信概述  4.2  网络通信的要点   4.2.1  GCF应用模式   4.2.2  无线网络应用  4.3  HTTP通信   4.3.1  HTTP请求模式   4.3.2  HTTP通信状态检查  4.4  数据报通信过程   4.4.1  数据报服务端过程   4.4.2  数据报客户端过程  4.5  网络通信应用小结  4.6  API参考资料 第5章  无线通信  5.1  无线电技术回顾   5.1.1  第一次亲密接触:收音机   5.1.2  拇指一族与GSM/CDMA   5.1.3  蓝牙技术:分享你我的快乐  5.2  无线消息   5.2.1  无线消息开发概述   5.2.2  J2ME平台下的WMA   5.2.3  发送短信   5.2.4  发送彩信   5.2.5  WMAPI的使用要点  5.3  蓝牙通信   5.3.1  蓝牙通信概述   5.3.2  J2ME平台对蓝牙技术的支持   5.3.3  J2ME平台下蓝牙通信的实现  5.4  蓝牙设备通信   5.4.1  蓝牙设备概述   5.4.2  串口通信模式   5.4.3  通过串口读取蓝牙设备数据  5.5  API参考资料 第6章  底层用户界面开发 第7章  多媒体开发 第8章  持久化应用 第9章  移动商务应用 第10章  XML模型应用 第11章  手机系统信息和程序安装 附录 参考文献

章节摘录

  7.3.2视频播放器的功能说明  作为一款实用的手机视频播放器,不仅要考虑界面的个性化,而且还要考虑较高的播放效率和手机厂商对视频媒体类型的支持。  (1)实现播放的基本功能。它包括播放控制、音量调节、扩展卡资源读取支持等。  (2)流畅的播放效果。本案例中采用播放池(Playel Poo1)策略,这一策略将使播放过程更为流畅。  (3)完全满足手机厂商所支持的视频媒体类型,支持尽可能多的视频媒体类型。本案例中采用的是系统自动匹配的策略,即由手机系统本身来识别播放视频类型。  由于模拟器环境和实机环境的差异,在实际开发中可能会遇到一些问题。  7.3.3视频播放池  引进播放池的策略主要是为了克服播放视频文件时由于创建和销毁播放器对象(Player)而影响效率的情形。通过播放池方式,可将所有的播放器对象放入池中进行管理,播放指定的视频文件时只需要在播放池中获取对应的播放器对象进行播放即可,而无须重新初始化播放器状态。这种方式的另外一个优点是还可以记录该视频文件的播放状态,例如,播放位置、屏幕设置、音量值等。  当然,采用播放池的方式会增加内存的消耗,在实施过程中需要结合硬件配置对池的大小进行调整。  7.3.4设计分析  手机视频播放器工程定义了5个类:  (1)PlayerMIDlet,主MIDlet也是整个程序的入口,程序启动时显示播放列表面板。  (2)VideoPanel,播放列表面板,它为程序主界面,负责播放列表和对象池管理。  (3)PoolHelper,对象池帮助类,负责生成播放对象池。  (4)PlayCanvas,播放画布,用来装载媒体播放。

图书封面

图书标签Tags

评论、评分、阅读与下载


    J2ME手机高级编程 PDF格式下载


用户评论 (总计13条)

 
 

  •   一时心血来潮买了这书,感觉还不错,书中不仅介绍了一些具体的应用,还将自己当时遇到这些问题是如何构思的细节等描述出来,实用
  •   案例较多,很实际,很实用
  •   这本书的起点要稍微高点,是一部J2ME进阶的好书
  •   写的不想洗
  •   实用性强,语言简练
  •   没怎么看过,哈哈
  •   我的这书感觉有好多都省略了,比如说他给了实例,但是却没有告诉你引用了哪些包。在底层开发的游戏开发中,只是讲了一点原理性的东西,给的不具体。不适合新人看,不知那些老手们看了感觉如何。
  •   本来是做Android开发的,
    公司突然要搞J2ME。
    书有很多地方讲得不够细,还比不上百度出来的
  •   其实这本书对于学一些基本的J2ME编程知识还是不错的,不过要是你想要更好的提高的话,还是另选吧,在通用连接框架这一这地方说的很少。最致命的是没有光盘。
  •   只看过视频那部分,说的很不全,可以说是很烂....
  •   书还不错,有一定深度!
  •   说实话,感觉很一般,有一种忽悠人的感觉,比如第六章6。4节最后说“Canvas组件绘制报表式界面(在第8章将有详细说明了)。”狗屁!我翻遍了第8章,那里根本没有对这个进行说明;很多地方都是这个样,所以感觉他们根本没有尽责任写好,垃圾。还有第五章5。2写无线消息这一节,只写了很普通的很简单的发送短信这一内容,但没有意思去介绍如何读取从不同手机发送过来的短信,简单的内容谁不会呀,这些内容也属于“手机高级编程”?完全是骗人,这样子的书也算是高级编程,什么概念呀!
  •   总的概括下:这本书是低不成高不就......不适合初学者,也不适合技术专家....在买这本书之前一定要买一本工具入门的书,因为这本是没有告诉我们怎么去安装工具,也没有告诉我们怎么开始使用工具,一开始就讲发展史,然后就开始了编程,至于怎么安装的工具,怎么开始写第一个程序都没有解说....初学者根本无法入门。。。。。但是对于高级技术人员来说,这本书的内容就太肤浅了,我个人是搞j2se的,因为觉得手机好玩,就打算学习j2me,但是却连工具怎么用都不知道。。。。所以这本书让我很失望!!!现在躺在家里睡大觉呢。。。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7