J2ME手機(jī)高級(jí)編程

出版時(shí)間:2009-6  出版社:機(jī)械工業(yè)出版社  作者:汪永松  頁數(shù):297  
Tag標(biāo)簽:無  

前言

  對于正在或者曾經(jīng)在J2ME平臺(tái)上進(jìn)行開發(fā)的程序員來說,J2ME平臺(tái)開發(fā)這個(gè)話題也許算是老生常談了。但是反過來講,哪些才算是移動(dòng)平臺(tái)開發(fā)的新主題呢?  2008年對于移動(dòng)平臺(tái)來說也許是不平靜的一年。自從Google公司在2007年底正式發(fā)布Android手機(jī)平臺(tái)之后,就開始大張旗鼓地為第一款A(yù)ndroid手機(jī)的推出作準(zhǔn)備,并宣布這款手機(jī)將在2008年底面市。2008年4月,微軟在CTIA Wireless大會(huì)上正式發(fā)布了Windows Mobile 6.1,除了大范圍對已有軟件進(jìn)行升級(jí)外,還為智能手機(jī)和PDA設(shè)備帶來了大量的增強(qiáng)型新特性。同年6月,世界最大的移動(dòng)電話生產(chǎn)商N(yùn)OKIA終于下定決心收購了全球最大的手機(jī)操作系統(tǒng)開發(fā)商Symbian,以此來應(yīng)對Google Android等日益增長的競爭威脅。2008年9月,Google公司如約推出第一款A(yù)ndroid平臺(tái)的手機(jī):美國運(yùn)營商T-Mobile USA 在紐約正式發(fā)布第一款Google 手機(jī)-T-Mobile G1,再次掀起了全球手機(jī)平臺(tái)之爭的波瀾?! ∪欢谶@些各式各樣的手機(jī)平臺(tái)紛爭的背景下,Java在手機(jī)平臺(tái)開發(fā)方面始終占據(jù)一席之地:Android提供的SDK本身就是Java開發(fā)的,Symbian的操作系統(tǒng)對J2ME的支持是最好的,Windows Mobile以及其他基于Linux系統(tǒng)的手機(jī)平臺(tái)也都支持Java虛擬機(jī)……Java突出的開放性似乎早已決定了其在手機(jī)平臺(tái)開發(fā)方面的主導(dǎo)地位,其良好的實(shí)用性在一個(gè)又一個(gè)平臺(tái)中不斷得到體現(xiàn)。  從Java平臺(tái)的演變史來說,在20世紀(jì)90年代末期,由于互聯(lián)網(wǎng)浪潮的推動(dòng),PC市場份額不斷擴(kuò)大,Java平臺(tái)如魚得水,在桌面平臺(tái)和互聯(lián)網(wǎng)應(yīng)用領(lǐng)域的優(yōu)秀表現(xiàn)令人矚目,并逐步從桌面平臺(tái)先后剝離出J2EE和J2ME平臺(tái),內(nèi)容涵蓋了從嵌入式設(shè)備到企業(yè)級(jí)應(yīng)用,從而形成了完整的Java平臺(tái)體系。從性質(zhì)上講,前者是封閉式、面向嵌入式應(yīng)用的平臺(tái),而后者卻是開放式、面向企業(yè)應(yīng)用的平臺(tái)。筆者不能判定孰輕孰重,只能說是各有千秋,因?yàn)檫@些平臺(tái)和技術(shù)都是由應(yīng)用而產(chǎn)生,所以說實(shí)用之道才是王道?! ‰S著2008年冬季的來臨,全球經(jīng)濟(jì)形勢進(jìn)一步惡化,眾多的IT企業(yè)和員工也開始進(jìn)入了漫長、寒冷的“冬天”。這從側(cè)面向IT企業(yè)和開發(fā)人員提出了一個(gè)問題:如何才能讓技術(shù)和應(yīng)用更加具有競爭力和生命力?不言而喻,只有實(shí)實(shí)在在地給客戶和社會(huì)帶來益處的應(yīng)用,而不是空泛的噱頭和一些空洞的概念,才能夠被更好地接受?! 』谝陨峡偨Y(jié)和思考,筆者力求在透徹地介紹J2ME平臺(tái)開發(fā)的每一項(xiàng)技術(shù)時(shí),也努力地表述如何學(xué)習(xí)和思考這些技術(shù)及其應(yīng)用模式。希望讀者不僅能立足于當(dāng)前,更能做到舉一反三;不僅真正地學(xué)會(huì)如何在J2ME手機(jī)平臺(tái)上開發(fā)出具有實(shí)用價(jià)值的程序,還可以平穩(wěn)地轉(zhuǎn)移到其他的手機(jī)平臺(tái)進(jìn)行開發(fā),例如Android平臺(tái)?! ”緯奶厣 ”緯鴥?nèi)容最為鮮明的有3點(diǎn):第一點(diǎn),結(jié)合筆者的實(shí)際開發(fā)經(jīng)驗(yàn),將J2ME平臺(tái)的很多概念(例如,配置、功能子集、let框架等)簡單化、通俗化,不僅令人印象深刻,而且還能很好地用于啟發(fā)理解其他的技術(shù)平臺(tái);第二點(diǎn),筆者非常關(guān)注初學(xué)者的實(shí)踐動(dòng)手過程,對于開發(fā)環(huán)境的搭建,可選包的引入以及API資料的獲取都進(jìn)行了詳盡的說明,力求保證初學(xué)者能夠做到親自動(dòng)手實(shí)踐,從而盡快打開J2ME平臺(tái)開發(fā)之門;第三點(diǎn),重點(diǎn)介紹各種J2ME技術(shù)的應(yīng)用模型,并配以詳細(xì)的開發(fā)過程及心得要點(diǎn),最終以實(shí)機(jī)環(huán)境來驗(yàn)證開發(fā)結(jié)果。通過對應(yīng)用模型的分析和探討,讓開發(fā)目標(biāo)能夠緊密結(jié)合客戶的實(shí)際應(yīng)用。通過實(shí)機(jī)環(huán)境來暴露只有在實(shí)際J2ME手機(jī)平臺(tái)開發(fā)過程中才能遇到的很多問題,而通過這些在模擬器上無法遇到的挫折,才能夠讓讀者對實(shí)際的J2ME手機(jī)平臺(tái)開發(fā)產(chǎn)生深入、全面的認(rèn)識(shí)。  本書內(nèi)容的編排  本書的內(nèi)容安排大致上遵循“由表及里,由內(nèi)而外,由專項(xiàng)到綜合”,即從大致的概要、框架到具體的技術(shù)內(nèi)容;從系統(tǒng)內(nèi)部(本地文件系統(tǒng)等)到系統(tǒng)外部(網(wǎng)絡(luò)通信、無線通信等);從專項(xiàng)的J2ME技術(shù)(文件系統(tǒng)、無線通信、網(wǎng)絡(luò)通信、用戶界面等)到結(jié)合多種技術(shù)的應(yīng)用(多媒體開發(fā)、移動(dòng)商務(wù)應(yīng)用等)?! 〉?章介紹J2ME平臺(tái)開發(fā)的基礎(chǔ)和技術(shù)概要。第2章介紹如何搭建開發(fā)及驗(yàn)證環(huán)境。通過這兩章,讀者可以了解J2ME平臺(tái)的主要概念、框架和技術(shù),并學(xué)會(huì)搭建開發(fā)環(huán)境,了解如何獲取和使用開發(fā)資料,并在此基礎(chǔ)上進(jìn)行初步的開發(fā)。  作為了解手機(jī)設(shè)備本地系統(tǒng)的第一步,第3章介紹文件系統(tǒng)的應(yīng)用。通過這一章,讀者可對手機(jī)平臺(tái)文件系統(tǒng)形成比較深入的認(rèn)識(shí),熟悉J2ME文件連接可選包的使用,了解如何結(jié)合桌面平臺(tái)來擴(kuò)展手機(jī)平臺(tái)的應(yīng)用?! 《鳛槭謾C(jī)平臺(tái)與外部系統(tǒng)溝通的第一步,第4章和第5章介紹網(wǎng)絡(luò)通信和無線通信,包括Web訪問,數(shù)據(jù)報(bào)應(yīng)用以及短信、彩信和藍(lán)牙通信等。通過這些應(yīng)用實(shí)例,讀者可以了解手機(jī)平臺(tái)的通信方式和無線通信應(yīng)用模式,從而打開手機(jī)系統(tǒng)與外部交互的大門?! ≡谧x者具備通用用戶界面基礎(chǔ)開發(fā)技能的前提下,第6章主要介紹底層用戶界面的編程,并以一款《碰運(yùn)氣》游戲和電子地圖瀏覽器來詳細(xì)介紹底層用戶界面的應(yīng)用模型和發(fā)展方向。通過這些內(nèi)容,希望讀者能夠熟練掌握手機(jī)系統(tǒng)的底層用戶界面編程技巧?! ≡谧x者了解了文件系統(tǒng)、無線通信技術(shù)以及用戶界面后,第7章介紹了年輕讀者最感興趣的手機(jī)多媒體編程。其內(nèi)容包括音樂播放、視頻播放、動(dòng)畫播放、攝像頭視頻采集等。通過將這些程序移植到實(shí)機(jī)的實(shí)踐過程,讓讀者深刻體會(huì)到移動(dòng)平臺(tái)開發(fā)的“玄機(jī)”和艱辛?! 〉鹊阶x者玩夠了(游戲開發(fā))、聽夠了(音樂播放器)和看夠了(視頻播放器),接下來就應(yīng)該做“正事”了。第8章介紹了記錄管理系統(tǒng)在持久化方面的應(yīng)用;第9章介紹了手機(jī)個(gè)人信息管理,對象數(shù)據(jù)庫Db4o以及關(guān)系型數(shù)據(jù)庫Derby等嵌入式數(shù)據(jù)庫在J2ME平臺(tái)上的商務(wù)應(yīng)用。第10章介紹了XML模型在J2ME平臺(tái)上的應(yīng)用以及與其他Java平臺(tái)的結(jié)合應(yīng)用。第11章介紹了有關(guān)手機(jī)的系統(tǒng)信息和如何安裝手機(jī)程序。通過在實(shí)機(jī)上運(yùn)行程序讓讀者從開發(fā)的成果中獲得成就?! ”緯械囊恍┘s定  注意 提醒讀者應(yīng)該給予重視的內(nèi)容?! √崾?給出對讀者有所幫助的一些技巧。  本書的全部源代碼按章劃分父文件夾,以工程文件夾為單位存放。源代碼的使用可以參考附錄C(隨書源代碼的使用說明)。 ?。?)大括號(hào)格式。本書代碼的大括號(hào)格式為K&R格式(Brian Kernighan和Dennis Ritchie,經(jīng)典著作《C程序設(shè)計(jì)語言》的作者),即開括號(hào)總是與使用它的語句在同一行,而閉括號(hào)總是位于它所關(guān)閉的語句的下一行,并且與該語句對齊。見代碼Q-1中第1行和第8行中的大括號(hào)?! 。?)命名方式。本書代碼的函數(shù)名采用與J2ME平臺(tái)相同的方式,即首單詞小寫,后續(xù)單詞的首字母大寫。例如,代碼Q-1中第3行的showMe和第6行的sendMMS方法?! ∽兞棵膊捎门c函數(shù)名相同的形式,但是首部分是該變量類型的縮寫(有點(diǎn)類似匈牙利命名法),例如,第2行的cmdDiscard和第5行的cmdSend變量,首部的cmd表示該變量類型為Command。  類名采用駱駝命名法,例如,MMSSendPanel、MainMIDlet、MainPanel。  包名全部采用小寫單詞,例如,filechooser、mms?! ○B(yǎng)成良好的編碼風(fēng)格對于任何程序員來說都是十分重要的,可以說編碼風(fēng)格是判斷一個(gè)程序員是不是“老手”的標(biāo)桿。對于剛起步的程序員,在編碼過程中首先要樹立編碼風(fēng)格的意識(shí),再通過不斷地實(shí)踐和摸索,才能逐步形成自己的編碼風(fēng)格?! ∽詈螅M笥褌冮_發(fā)成功!

內(nèi)容概要

  本書從J2ME手機(jī)平臺(tái)的當(dāng)前主流應(yīng)用和發(fā)展趨勢出發(fā),立足實(shí)際的開發(fā)案例,介紹了J2ME手機(jī)平臺(tái)開發(fā)的實(shí)用技術(shù)和應(yīng)用模式。本書的內(nèi)容主要包括:手機(jī)文件系統(tǒng)、網(wǎng)絡(luò)通信、無線通信(短信通信、彩信通信和藍(lán)牙通信)、底層用戶界面應(yīng)用(游戲開發(fā)和電子地圖瀏覽)、多媒體編程(音樂播放器、視頻播放器和攝像頭視頻采集等)、持久化應(yīng)用、移動(dòng)商務(wù)應(yīng)用(對象數(shù)據(jù)庫Db4o和嵌入式關(guān)系型數(shù)據(jù)庫Derby)和XML模型應(yīng)用等?! ”緯饕嫦蚓哂幸欢↗ava平臺(tái)開發(fā)經(jīng)驗(yàn)的開發(fā)人員,或者對手機(jī)平臺(tái)開發(fā)感興趣的Java程序員。對于初學(xué)者,筆者希望通過本書可以幫助他們快速熟悉開發(fā)環(huán)境、掌握學(xué)習(xí)手機(jī)平臺(tái)開發(fā)的方法,并對J2ME手機(jī)平臺(tái)框架形成清晰的認(rèn)識(shí)。對于高級(jí)開發(fā)人員,筆者相信本書在藍(lán)牙通信、電子地圖、多媒體編程和移動(dòng)商務(wù)應(yīng)用方面會(huì)給他們帶來一定的啟發(fā)?! ”緯脑创a可從http://www.cmpbook.com/下載。

書籍目錄

出版說明前言第1章  J2ME開發(fā)起步  1.1  引言  1.2  常用概念及縮略語  1.3  J2ME平臺(tái)透析   1.3.1  J2ME平臺(tái)的內(nèi)涵   1.3.2  J2ME平臺(tái)的外延  1.4  J2ME平臺(tái)技術(shù)概要   1.4.1  let架構(gòu)   1.4.2  通用連接框架   1.4.3  無線電技術(shù)   1.4.4  液晶設(shè)備用戶界面   1.4.5  多媒體框架   1.4.6  持久化   1.4.7  個(gè)人信息管理   1.4.8  JAXP和Web Service   1.4.9  JDBC  1.5  寫在開發(fā)之前的經(jīng)驗(yàn)   1.5.1  從MIDlet到Piglet   1.5.2  由奢入儉難—克服資源限制   1.5.3  死鎖預(yù)防無處不在   1.5.4  淮橘北枳—模擬器環(huán)境與實(shí)機(jī)的距離 第2章  開發(fā)及驗(yàn)證環(huán)境  2.1  開發(fā)環(huán)境   2.1.1  集成開發(fā)環(huán)境   2.1.2  源代碼編輯工具   2.1.3  模板代碼  2.2  開發(fā)資料的獲取  2.3  驗(yàn)證環(huán)境   2.3.1  模擬器   2.3.2  實(shí)機(jī)—NOKIA 第3章  文件系統(tǒng)  3.1  文件系統(tǒng)開發(fā)概述  3.2  J2ME文件系統(tǒng)概述   3.2.1  JSR 規(guī)范   3.2.2  文件可選包的引入   3.2.3  使用文件可選包的步驟  3.3  手機(jī)文件瀏覽器   3.3.1  功能說明   3.3.2  設(shè)計(jì)分析   3.3.3  實(shí)現(xiàn)過程  3.4  手機(jī)文件選擇組件   3.4.1  手機(jī)文件選擇組件開發(fā)概述   3.4.2  文件選擇功能組件化的考慮   3.4.3  功能說明   3.4.4  設(shè)計(jì)說明   3.4.5  文件選擇功能組件化小結(jié)  3.5  手機(jī)文件瀏覽器在實(shí)機(jī)上運(yùn)行的注意事項(xiàng)   3.5.1  內(nèi)存不足   3.5.2  安全確認(rèn)提示  3.6  API參考資料 第4章  網(wǎng)絡(luò)通信  4.1  J2ME網(wǎng)絡(luò)通信概述  4.2  網(wǎng)絡(luò)通信的要點(diǎn)   4.2.1  GCF應(yīng)用模式   4.2.2  無線網(wǎng)絡(luò)應(yīng)用  4.3  HTTP通信   4.3.1  HTTP請求模式   4.3.2  HTTP通信狀態(tài)檢查  4.4  數(shù)據(jù)報(bào)通信過程   4.4.1  數(shù)據(jù)報(bào)服務(wù)端過程   4.4.2  數(shù)據(jù)報(bào)客戶端過程  4.5  網(wǎng)絡(luò)通信應(yīng)用小結(jié)  4.6  API參考資料 第5章  無線通信  5.1  無線電技術(shù)回顧   5.1.1  第一次親密接觸:收音機(jī)   5.1.2  拇指一族與GSM/CDMA   5.1.3  藍(lán)牙技術(shù):分享你我的快樂  5.2  無線消息   5.2.1  無線消息開發(fā)概述   5.2.2  J2ME平臺(tái)下的WMA   5.2.3  發(fā)送短信   5.2.4  發(fā)送彩信   5.2.5  WMAPI的使用要點(diǎn)  5.3  藍(lán)牙通信   5.3.1  藍(lán)牙通信概述   5.3.2  J2ME平臺(tái)對藍(lán)牙技術(shù)的支持   5.3.3  J2ME平臺(tái)下藍(lán)牙通信的實(shí)現(xiàn)  5.4  藍(lán)牙設(shè)備通信   5.4.1  藍(lán)牙設(shè)備概述   5.4.2  串口通信模式   5.4.3  通過串口讀取藍(lán)牙設(shè)備數(shù)據(jù)  5.5  API參考資料 第6章  底層用戶界面開發(fā) 第7章  多媒體開發(fā) 第8章  持久化應(yīng)用 第9章  移動(dòng)商務(wù)應(yīng)用 第10章  XML模型應(yīng)用 第11章  手機(jī)系統(tǒng)信息和程序安裝 附錄 參考文獻(xiàn)

章節(jié)摘錄

  7.3.2視頻播放器的功能說明  作為一款實(shí)用的手機(jī)視頻播放器,不僅要考慮界面的個(gè)性化,而且還要考慮較高的播放效率和手機(jī)廠商對視頻媒體類型的支持。 ?。?)實(shí)現(xiàn)播放的基本功能。它包括播放控制、音量調(diào)節(jié)、擴(kuò)展卡資源讀取支持等?! 。?)流暢的播放效果。本案例中采用播放池(Playel Poo1)策略,這一策略將使播放過程更為流暢?! 。?)完全滿足手機(jī)廠商所支持的視頻媒體類型,支持盡可能多的視頻媒體類型。本案例中采用的是系統(tǒng)自動(dòng)匹配的策略,即由手機(jī)系統(tǒng)本身來識(shí)別播放視頻類型?! ∮捎谀M器環(huán)境和實(shí)機(jī)環(huán)境的差異,在實(shí)際開發(fā)中可能會(huì)遇到一些問題?! ?.3.3視頻播放池  引進(jìn)播放池的策略主要是為了克服播放視頻文件時(shí)由于創(chuàng)建和銷毀播放器對象(Player)而影響效率的情形。通過播放池方式,可將所有的播放器對象放入池中進(jìn)行管理,播放指定的視頻文件時(shí)只需要在播放池中獲取對應(yīng)的播放器對象進(jìn)行播放即可,而無須重新初始化播放器狀態(tài)。這種方式的另外一個(gè)優(yōu)點(diǎn)是還可以記錄該視頻文件的播放狀態(tài),例如,播放位置、屏幕設(shè)置、音量值等。  當(dāng)然,采用播放池的方式會(huì)增加內(nèi)存的消耗,在實(shí)施過程中需要結(jié)合硬件配置對池的大小進(jìn)行調(diào)整?! ?.3.4設(shè)計(jì)分析  手機(jī)視頻播放器工程定義了5個(gè)類: ?。?)PlayerMIDlet,主MIDlet也是整個(gè)程序的入口,程序啟動(dòng)時(shí)顯示播放列表面板。 ?。?)VideoPanel,播放列表面板,它為程序主界面,負(fù)責(zé)播放列表和對象池管理?! 。?)PoolHelper,對象池幫助類,負(fù)責(zé)生成播放對象池。 ?。?)PlayCanvas,播放畫布,用來裝載媒體播放。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    J2ME手機(jī)高級(jí)編程 PDF格式下載


用戶評(píng)論 (總計(jì)13條)

 
 

  •   一時(shí)心血來潮買了這書,感覺還不錯(cuò),書中不僅介紹了一些具體的應(yīng)用,還將自己當(dāng)時(shí)遇到這些問題是如何構(gòu)思的細(xì)節(jié)等描述出來,實(shí)用
  •   案例較多,很實(shí)際,很實(shí)用
  •   這本書的起點(diǎn)要稍微高點(diǎn),是一部J2ME進(jìn)階的好書
  •   寫的不想洗
  •   實(shí)用性強(qiáng),語言簡練
  •   沒怎么看過,哈哈
  •   我的這書感覺有好多都省略了,比如說他給了實(shí)例,但是卻沒有告訴你引用了哪些包。在底層開發(fā)的游戲開發(fā)中,只是講了一點(diǎn)原理性的東西,給的不具體。不適合新人看,不知那些老手們看了感覺如何。
  •   本來是做Android開發(fā)的,
    公司突然要搞J2ME。
    書有很多地方講得不夠細(xì),還比不上百度出來的
  •   其實(shí)這本書對于學(xué)一些基本的J2ME編程知識(shí)還是不錯(cuò)的,不過要是你想要更好的提高的話,還是另選吧,在通用連接框架這一這地方說的很少。最致命的是沒有光盤。
  •   只看過視頻那部分,說的很不全,可以說是很爛....
  •   書還不錯(cuò),有一定深度!
  •   說實(shí)話,感覺很一般,有一種忽悠人的感覺,比如第六章6。4節(jié)最后說“Canvas組件繪制報(bào)表式界面(在第8章將有詳細(xì)說明了)?!惫菲ǎ∥曳榱说?章,那里根本沒有對這個(gè)進(jìn)行說明;很多地方都是這個(gè)樣,所以感覺他們根本沒有盡責(zé)任寫好,垃圾。還有第五章5。2寫無線消息這一節(jié),只寫了很普通的很簡單的發(fā)送短信這一內(nèi)容,但沒有意思去介紹如何讀取從不同手機(jī)發(fā)送過來的短信,簡單的內(nèi)容誰不會(huì)呀,這些內(nèi)容也屬于“手機(jī)高級(jí)編程”?完全是騙人,這樣子的書也算是高級(jí)編程,什么概念呀!
  •   總的概括下:這本書是低不成高不就......不適合初學(xué)者,也不適合技術(shù)專家....在買這本書之前一定要買一本工具入門的書,因?yàn)檫@本是沒有告訴我們怎么去安裝工具,也沒有告訴我們怎么開始使用工具,一開始就講發(fā)展史,然后就開始了編程,至于怎么安裝的工具,怎么開始寫第一個(gè)程序都沒有解說....初學(xué)者根本無法入門。。。。。但是對于高級(jí)技術(shù)人員來說,這本書的內(nèi)容就太膚淺了,我個(gè)人是搞j2se的,因?yàn)橛X得手機(jī)好玩,就打算學(xué)習(xí)j2me,但是卻連工具怎么用都不知道。。。。所以這本書讓我很失望?。?!現(xiàn)在躺在家里睡大覺呢。。。
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7