出版時(shí)間:2009.9 出版社:人民郵電出版社 作者:Ray Rischpater 頁(yè)數(shù):412 譯者:楊越,張猛,王桂英 等
Tag標(biāo)簽:無(wú)
前言
當(dāng)我開始撰寫本書時(shí),朋友和同事的言論常常讓我吃驚不已。許多人問(wèn)我等到這本書出版的時(shí)候,其他平臺(tái)(如Android或iPhone)的發(fā)展是否會(huì)讓Java ME技術(shù)過(guò)時(shí),有些人甚至懷疑Java ME會(huì)不會(huì)消失。也有人指出,隨著Java各產(chǎn)品線的不斷聚合,對(duì)專門介紹Java ME的書的需求會(huì)萎縮。還有些人嚴(yán)厲地批評(píng)說(shuō),Java書籍的市場(chǎng)已經(jīng)飽和,浪費(fèi)時(shí)間再寫一本書毫無(wú)意義。當(dāng)你決定是否閱讀本書時(shí),可能也會(huì)提出這樣的問(wèn)題。你也許對(duì)將.Java ME作為部署現(xiàn)有產(chǎn)品的平臺(tái)感興趣,或者只是考慮是否要學(xué)一學(xué)Java ME技能?! ava ME平臺(tái)非常成功。如今,消費(fèi)者使用的運(yùn)行Java ME的設(shè)備已經(jīng)達(dá)到了數(shù)十億,而且還有更多的設(shè)備正加入到這個(gè)行列中來(lái),包括手機(jī)、機(jī)頂盒和其他目前正在開發(fā)的你想象不到的設(shè)備。Java ME在市場(chǎng)上已經(jīng)站穩(wěn)了腳跟,更在JCP(Java Community Process)的推動(dòng)下迅速發(fā)展演進(jìn),以應(yīng)對(duì)現(xiàn)有的和新的競(jìng)爭(zhēng)平臺(tái)(包括Oualcomm BREW、Android和Apple iPhone)帶來(lái)的各種挑戰(zhàn)?! ava ME、Java SE(Java Platform,Standard Edition)和Java EE(Java Platform,Enterprise Edition)之間的交叉影響(cross-pollination)已得到廣泛認(rèn)可,而且會(huì)延續(xù)下去。JCP成員在引入可以在這些Java平臺(tái)之間共享的API的時(shí)候非常謹(jǐn)慎,許多Java ME的API都是Java SE的API的子集。在某些情況下,則正好相反:JavaMEAPI被引入Java SE,如用于通信和聯(lián)網(wǎng)的JavaME框架。隨著設(shè)備的功能越來(lái)越強(qiáng)大,各利Java產(chǎn)品線會(huì)不斷聚合,但是移動(dòng)設(shè)備特定的限制(包括隨時(shí)隨地的網(wǎng)絡(luò)接入、體積小且電量不足的電池、內(nèi)存和處理器資源的局限性)將在Java平臺(tái)內(nèi)產(chǎn)生一種特殊的需求。Java ME和JCP正好為供應(yīng)商提供了滿足這種需求的框架?! ∈忻嫔弦延泻芏嚓P(guān)于J2ME(Java ME的前身)的優(yōu)秀圖書,以及部分關(guān)于Java ME的好書。但是,Java ME平臺(tái)正以驚人的速度發(fā)展和演變,而Java ME又是一種規(guī)模龐大的產(chǎn)品,這使得初學(xué)者找到一本全面而基礎(chǔ)的好書來(lái)學(xué)習(xí)Java ME相當(dāng)困難。本書致力于全面介紹構(gòu)成Java ME的兩個(gè)方面,要想掌握J(rèn)ava ME,必須了解這兩個(gè)方面。與此同時(shí),我明確區(qū)分了哪些Java ME API是必需的,哪些是可選的。我認(rèn)為在學(xué)習(xí)基礎(chǔ)知識(shí)的過(guò)程中,需要理解一些Java ME中反復(fù)出現(xiàn)的基本原理,但是不必記住每個(gè)可選的Java ME類中的所有方法。畢竟每個(gè)人的精力有限,故應(yīng)該首先掌握平臺(tái)基本原理,以便以后專攻自己感興趣的領(lǐng)域。簡(jiǎn)言之,對(duì)你來(lái)說(shuō),我未在書中介紹的某些內(nèi)容可能與本書內(nèi)容同樣重要。
內(nèi)容概要
Java ME(Java Platform, Micro Edition)以往稱作J2ME,是為機(jī)頂盒、移動(dòng)電話和PDA之類的嵌入式消費(fèi)電子設(shè)備提供的高度優(yōu)化的Java語(yǔ)言平臺(tái),包括虛擬機(jī)和一系列標(biāo)準(zhǔn)化的Java API。本書全面介紹了構(gòu)成Java ME的 Connected Limited Device Configuration(CLDC)和 Connected Device Configuration(CDC),并通過(guò)相互聯(lián)系的5部分內(nèi)容,講述了移動(dòng)軟件市場(chǎng)的整體動(dòng)態(tài)、Java ME平臺(tái)上設(shè)計(jì)和實(shí)現(xiàn)的基本思想以及Java ME開發(fā)人員使用的最重要的API。 本書內(nèi)容全面,實(shí)例豐富,主要面向剛剛接觸該平臺(tái)的初學(xué)者,經(jīng)驗(yàn)豐富的開發(fā)人員也可使用它提高自己的Java ME開發(fā)技能。
作者簡(jiǎn)介
Ray Rischpater世界知名的移動(dòng)技術(shù)專家,在移動(dòng)計(jì)算平臺(tái)方面具有近20年從業(yè)經(jīng)驗(yàn)。目前。Ray是諾基亞公司的資深軟件工程師。曾任Rocket Mobile公司首席架構(gòu)師、Sun公司工程師。他還寫過(guò)很多書,如Software Development for the QUALCOMM BREW Platform、Wireless Web Developm
書籍目錄
第一部分 入門 第1章 開始Java之旅 1.1 Java ME市場(chǎng)簡(jiǎn)介 1.1.1 從設(shè)備制造商角度來(lái)看 1.1.2 從運(yùn)營(yíng)商角度來(lái)看 1.1.3 從消費(fèi)者角度來(lái)看 1.2 Java ME平臺(tái) 1.2.1 對(duì)Java移動(dòng)版本的需求 1.2.2 移動(dòng)設(shè)備上的Java 1.3 配置 1.3.1 CLDC簡(jiǎn)介 1.3.2 CDC簡(jiǎn)介 1.4 配置文件 1.4.1 MIDP簡(jiǎn)介 1.4.2 基礎(chǔ)配置文件簡(jiǎn)介 1.4.3 個(gè)人基本配置文件簡(jiǎn)介 1.4.4 個(gè)人配置文件簡(jiǎn)介 1.5 包 1.6 規(guī)劃Java ME開發(fā)方法 1.6.1 選擇適當(dāng)?shù)脑O(shè)備目標(biāo) 1.6.2 銷售應(yīng)用程序 1.7 小結(jié) 第2章 精簡(jiǎn)Java 2.1 精簡(jiǎn)Java:CLDC 2.1.1 理解當(dāng)前版本:CLDC 1.1 2.1.2 回顧C(jī)LDC 1.0 2.1.3 展望CLDC的未來(lái) 2.2 精簡(jiǎn)Java:CDC 2.3 更改Java類庫(kù)以適合CLDC 2.3.1 對(duì)java.lang包的更改 2.3.2 對(duì)java.util包的更改 2.3.3 對(duì)java.io包的更改 2.3.4 在CLDC中引入類 2.4 更改Java類庫(kù)以適合CDC 2.5 小結(jié) 第3章 NetBeans IDE入門 3.1 選擇NetBeans IDE 3.2 開始使用NetBeans IDE 3.3 創(chuàng)建第一個(gè)CLDC/MIDP應(yīng)用程序 3.3.1 創(chuàng)建WeatherWidget 3.3.2 構(gòu)建CLDC/MIDP應(yīng)用程序 3.3.3 打包和執(zhí)行CLDC/MIDP應(yīng)用程序 3.4 創(chuàng)建第一個(gè)CDC應(yīng)用程序 3.4.1 創(chuàng)建WeatherApplet 3.4.2 打包和執(zhí)行CDC應(yīng)用程序 3.5 小結(jié)第二部分 用MIDP進(jìn)行CLDC開發(fā) 第4章 MIDlet介紹 4.1 最簡(jiǎn)單的MIDlet 4.2 理解MIDlet的生命周期 4.3 將MIDlet打包 4.4 獲得屬性和資源 4.5 管理啟動(dòng)事件和報(bào)警 4.6 小結(jié) 第5章 構(gòu)建用戶界面 5.1 理解Display和可視項(xiàng)對(duì)象之間的關(guān)系 5.2 使用命令控制應(yīng)用程序流程 5.3 基本可視項(xiàng)簡(jiǎn)介 5.3.1 項(xiàng)簡(jiǎn)介 5.3.2 管理選擇項(xiàng) 5.4 Screen類及其子類簡(jiǎn)介 5.4.1 使用Form類搜集可視項(xiàng) 5.4.2 警告用戶 5.4.3 接受大量文本 5.4.4 顯示選項(xiàng)列表 5.5 使用Canvas和定制Item 5.5.1 用定制Canvas控制繪圖行為 5.5.2 創(chuàng)建供屏幕使用的定制Item 5.5.3 實(shí)現(xiàn)定制項(xiàng) 5.6 小結(jié) 第6章 使用記錄存儲(chǔ)存儲(chǔ)數(shù)據(jù) 6.1 記錄存儲(chǔ)的技術(shù)細(xì)節(jié) 6.2 使用記錄存儲(chǔ) 6.2.1 打開和關(guān)閉記錄存儲(chǔ) 6.2.2 移除記錄存儲(chǔ) 6.2.3 獲得有關(guān)記錄存儲(chǔ)的信息 6.3 訪問(wèn)記錄存儲(chǔ)中的記錄 6.3.1 添加記錄 6.3.2 獲取記錄 6.3.3 枚舉記錄 6.3.4 更新記錄 6.3.5 移除記錄 6.3.6 計(jì)算記錄個(gè)數(shù) 6.3.7 監(jiān)聽記錄存儲(chǔ)的變化 6.3.8 理解平臺(tái)對(duì)記錄存儲(chǔ)的限制 6.4 記錄存儲(chǔ)應(yīng)用實(shí)例 6.5 小結(jié) 第7章 訪問(wèn)文件和其他數(shù)據(jù) 7.1 FCOP簡(jiǎn)介 7.2 使用FCOP 7.2.1 判斷FCOP是否存在 7.2.2 獲得FileConnection實(shí)例 7.2.3 新建文件或目錄 7.2.4 打開文件 7.2.5 修改文件屬性 7.2.6 刪除文件或目錄 7.2.7 枚舉目錄的內(nèi)容 7.2.8 監(jiān)聽文件系統(tǒng)變化 7.3 FCOP實(shí)踐 7.4 PIM包簡(jiǎn)介 7.5 使用PIM包 7.5.1 確保PIM包可用 7.5.2 打開PIM數(shù)據(jù)庫(kù) 7.5.3 從PIM數(shù)據(jù)庫(kù)讀取記錄 7.5.4 從PIM記錄中讀取字段 7.5.5 修改PIM記錄 7.5.6 添加PIM記錄 7.5.7 移除PIM項(xiàng)目 7.5.8 管理PIM數(shù)據(jù)庫(kù)分類 7.6 PIM包實(shí)踐 7.7 理解代碼簽名和驗(yàn)證的作用 7.8 小結(jié) 第8章 使用Java移動(dòng)游戲API 8.1 了解移動(dòng)游戲API 8.2 管理事件和繪圖 8.2.1 輪詢擊鍵 8.2.2 管理游戲的執(zhí)行 8.2.3 將GameCanvas綁定到MIDlet 8.3 可視元素分層 8.3.1 管理層 8.3.2 使用貼圖優(yōu)化可視的層 8.3.3 制作動(dòng)畫 8.4 移動(dòng)游戲API實(shí)踐 8.4.1 實(shí)現(xiàn)游戲MIDlet 8.4.2 實(shí)現(xiàn)游戲Canvas 8.5 小結(jié)第三部分 CDC開發(fā) 第9章 Xlet和個(gè)人基本配置文件簡(jiǎn)介 9.1 了解Xlet 9.1.1 查看Xlet生命周期 9.1.2 擴(kuò)展Xlet接口 9.1.3 使用Xlet上下文 9.2 編寫簡(jiǎn)單的Xlet 9.2.1 查看簡(jiǎn)單的Xlet 9.2.2 了解Xlet依賴性 9.3 使用PBP開發(fā)輕量級(jí)用戶界面 9.3.1 為窗口工具包實(shí)現(xiàn)自己的組件 9.3.2 編寫簡(jiǎn)單的輕量級(jí)組件 9.3.3 了解PBP的窗口工具包限制 9.4 獲取Xlet屬性和資源 9.5 與其他Xlet通信 9.5.1 實(shí)現(xiàn)共享對(duì)象 9.5.2 共享對(duì)象讓其他Xlet查找 9.5.3 使用共享對(duì)象 9.6 小結(jié) 第10章 Applet和高級(jí)圖形用戶界面 10.1 為Java ME編寫applet 10.1.1 applet生命周期 10.1.2 展示applet用戶界面 10.1.3 訪問(wèn)applet上下文 10.1.4 在applet之間通信 10.2 使用AWT開發(fā)用戶界面 10.2.1 使用AWT容器 10.2.2 使用AWT組件 10.2.3 處理AWT事件 10.3 使用AGUI開發(fā)用戶界面 10.3.1 了解頂層窗口限制 10.3.2 使用AGUI的附加輸入支持 10.3.3 了解對(duì)繪制算法的更改 10.4 小結(jié) 第11章 使用遠(yuǎn)程方法調(diào)用 11.1 Java RMI 11.1.1 Java RMI架構(gòu) 11.1.2 Java RMI接口 11.2 Java RMI OP 11.2.1 查看Java RMI OP的要求 11.2.2 查看Java RMI OP提供的內(nèi)容 11.3 應(yīng)用Java RMI 11.3.1 為服務(wù)編寫Java接口 11.3.2 使用Java SE實(shí)現(xiàn)服務(wù) 11.3.3 為Java SE生成存根類 11.3.4 編寫遠(yuǎn)程服務(wù)主機(jī)應(yīng)用程序 11.3.5 從客戶機(jī)調(diào)用遠(yuǎn)程對(duì)象 11.4 小結(jié)第四部分 外部通信 第12章 訪問(wèn)網(wǎng)絡(luò)上的遠(yuǎn)程數(shù)據(jù) 12.1 GCF簡(jiǎn)介 12.2 使用套接字和數(shù)據(jù)報(bào)通信 12.2.1 在GCF中使用套接字 12.2.2 在GCF中使用數(shù)據(jù)報(bào) 12.3 使用HTTP進(jìn)行通信 12.3.1 HTTP回顧 12.3.2 在GCF中使用HTTP 12.3.3 使用HTTP 12.3.4 利用HTTPS確保HTTP事務(wù)的安全 12.4 為網(wǎng)絡(luò)連接授權(quán) 12.5 小結(jié) 第13章 訪問(wèn)Web服務(wù) 13.1 從客戶機(jī)的視角查看Web服務(wù) 13.1.1 了解架構(gòu) 13.1.2 通過(guò)網(wǎng)絡(luò)交換數(shù)據(jù) 13.1.3 使用XML表示數(shù)據(jù) 13.2 Java ME對(duì)Web服務(wù)中XML的支持 13.2.1 在Java ME應(yīng)用程序中生成XML 13.2.2 J2ME Web服務(wù)規(guī)范 13.2.3 kXML解析器 13.3 小結(jié) 第14章 使用無(wú)線消息傳送API傳遞消息 14.1 無(wú)線消息傳送服務(wù) 14.1.1 短消息服務(wù) 14.1.2 多媒體消息服務(wù) 14.1.3 小區(qū)廣播服務(wù) 14.2 無(wú)線消息傳送API 14.2.1 創(chuàng)建消息 14.2.2 發(fā)送消息 14.2.3 接收消息 14.2.4 管理消息報(bào)頭 14.2.5 使用WMA所需的權(quán)限 14.3 使用推注冊(cè) 14.3.1 動(dòng)態(tài)注冊(cè)傳入消息 14.3.2 使用PushRegistry API 14.4 應(yīng)用無(wú)線消息傳送API 14.4.1 發(fā)送和接收SMS消息 14.4.2 發(fā)送和接收MMS消息 14.5 小結(jié)第五部分 其他Java ME接口 第15章 保護(hù)Java ME應(yīng)用程序 15.1 理解安全需求 15.2 Java ME的安全與信任服務(wù) 15.2.1 使用APDU API與加密硬件通信 15.2.2 使用JCRMI與Java智能卡通信 15.2.3 利用SATSA高級(jí)API進(jìn)行加解密1 15.3 利用Bouncy Castle解決方案應(yīng)對(duì)安全挑戰(zhàn) 15.3.1 使用Bouncy Castle API創(chuàng)建消息摘要 15.3.2 使用Bouncy Castle API加密和解密 15.4 使用無(wú)接觸通信創(chuàng)建安全的商務(wù)應(yīng)用 15.4.1 發(fā)現(xiàn)無(wú)接觸目標(biāo) 15.4.2 與無(wú)接觸目標(biāo)通信 15.4.3 識(shí)別和生成可視標(biāo)簽 15.5 小結(jié) 第16章 呈現(xiàn)多媒體內(nèi)容 16.1 MMAPI簡(jiǎn)介 16.1.1 理解基本多媒體概念 16.1.2 理解MMAPI的組織結(jié)構(gòu) 16.1.3 開始呈現(xiàn)過(guò)程 16.1.4 控制呈現(xiàn)過(guò)程 16.1.5 捕獲媒體 16.1.6 播放單獨(dú)的樂(lè)音 16.2 Java可縮放2D矢量圖形API簡(jiǎn)介 16.2.1 了解基本的SVG概念 16.2.2 了解SVGAPI的組織結(jié)構(gòu) 16.2.3 呈現(xiàn)SVG圖像 16.2.4 修改SVG圖像 16.2.5 結(jié)合使用NetBeans和SVG圖像 16.3 應(yīng)用MMAPI和SVGAPI 16.3.1 播放音頻和視頻 16.3.2 捕獲圖像 16.3.3 播放SVG內(nèi)容 16.4 小結(jié) 第17章 定位 17.1 了解基于位置的服務(wù) 17.2 Location API簡(jiǎn)介 17.2.1 了解Location API 17.2.2 使用Location API確定設(shè)備位置 17.2.3 使用Location API管理路標(biāo) 17.2.4 理解安全性在LBS中扮演的角色 17.3 使用Location API 17.3.1 定位用戶 17.3.2 在Sun Java Wireless Toolkit中仿真Location API數(shù)據(jù) 17.4 小結(jié) 第18章 尋找通用平臺(tái) 18.1 理解JSR在碎片問(wèn)題中扮演的角色 18.1.1 JSR對(duì)碎片和統(tǒng)一問(wèn)題的貢獻(xiàn) 18.1.2 查閱JSR 18.1.3 獨(dú)立處理碎片問(wèn)題 18.2 了解JTWI 18.2.1 了解JTWI必需的元素 18.2.2 了解JTWI的可選元素 18.3 了解MSA 18.3.1 了解MSA 1.0 18.3.2 未來(lái)演化:MSA2 18.4 小結(jié)附錄 查找Java API
章節(jié)摘錄
第一部分 入門 第1章 開始Java之旅 然從本質(zhì)上來(lái)看,Java ME只不過(guò)是為了適應(yīng)受限設(shè)備而對(duì)Java語(yǔ)言、類庫(kù)和概念進(jìn)行改編的結(jié)果,但事實(shí)上圍繞Java ME開拓的業(yè)務(wù)是完全不同的。牢固掌握J(rèn)ava ME市場(chǎng)、平臺(tái)和術(shù)語(yǔ)有助于你使用Java ME開發(fā)出成功的產(chǎn)品。 本章首先介紹Java ME的市場(chǎng)。接下來(lái)介紹Java ME平臺(tái),展示Sun女H何識(shí)別和定義移動(dòng)平臺(tái)的基本需求,以及制造商、運(yùn)營(yíng)商和其他廠商是如何擴(kuò)展這一基本平臺(tái)的。最后討論Java ME應(yīng)用程序開發(fā)過(guò)程的不同之處,并說(shuō)明了解你自己的消費(fèi)群體、目標(biāo)設(shè)備和分銷渠道是多么地 重要?! ∽x完本章后,你會(huì)理解Java ME為何不同于Java,了解設(shè)備制造商、無(wú)線運(yùn)營(yíng)商和消費(fèi)者如何看待Java ME,以及Java ME又是如何滿足所有這些相關(guān)方需求的。具備這些知識(shí)后,你將能夠更好地管理Java ME開發(fā)項(xiàng)目?! ?.1 Java ME市場(chǎng)簡(jiǎn)介 有三方勢(shì)力支配著Java ME市場(chǎng):試圖在市場(chǎng)上使其產(chǎn)品具有獨(dú)特優(yōu)勢(shì)的設(shè)備制造商,試圖提供差異化服務(wù)并提高ARPU(average revenue per user,每用戶平均收入)的無(wú)線運(yùn)營(yíng)商,以及使用新穎方式個(gè)性化其設(shè)備的消費(fèi)者。 1.1.1 從設(shè)備制造商角度來(lái)看 設(shè)備制造商和無(wú)線運(yùn)營(yíng)商之間的相互影響較為復(fù)雜。制造商之間的持續(xù)競(jìng)爭(zhēng)帶來(lái)了差異化的產(chǎn)品,而與此同時(shí),在許多市場(chǎng)中他們又求助于無(wú)線運(yùn)營(yíng)商來(lái)滿足針對(duì)各種特性和功能的嚴(yán)格要求。
編輯推薦
《Java ME基礎(chǔ)教程》全面講述了Java ME技術(shù)的方方面面。通過(guò)學(xué)習(xí)《Java ME基礎(chǔ)教程》,你可以更靈活地應(yīng)用Java,并且能夠?yàn)榫哂蠮ava功能的移動(dòng)設(shè)備構(gòu)建Java應(yīng)用程序。 《Java ME基礎(chǔ)教程》介紹了HTTPS支持、用戶界面API、多媒體API、游戲API、三維作圖以及藍(lán)牙等。書中包含許多有實(shí)用價(jià)值且隨時(shí)可用的代碼示例.使你可以觸類旁通?! ∈澜缰苿?dòng)技術(shù)專家力作,深入闡述最新Java移動(dòng)平臺(tái)技術(shù),全面、實(shí)用、豐富的經(jīng)典實(shí)例?! o(wú)論你是第一次接觸無(wú)線Java開發(fā)的新手,還是經(jīng)驗(yàn)豐富的開發(fā)人員,《Java ME基礎(chǔ)教程》都將為你帶來(lái)無(wú)線和移動(dòng)Java應(yīng)用程序開發(fā)盛宴。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載