出版時間:2012-8 出版社:人民郵電出版社 作者:王石磊,吳崢 編著 頁數(shù):560 字?jǐn)?shù):872000
Tag標(biāo)簽:無
內(nèi)容概要
Android憑借其強(qiáng)大的功能逐漸贏得了廣大用戶和開發(fā)者的青睞,已經(jīng)成為移動開發(fā)平臺上的翹楚。全書分為17章,分別詳細(xì)講解了Android系統(tǒng)基礎(chǔ),深入底層基礎(chǔ),多媒體框架,音頻系統(tǒng)框架,視頻系統(tǒng)框架,Camera照相機(jī)系統(tǒng),振動器系統(tǒng)和警報系統(tǒng),2D應(yīng)用開發(fā),渲染二維圖像,OpenGL
ES基礎(chǔ),OpenGL
ES實(shí)戰(zhàn)技術(shù),音頻開發(fā)基礎(chǔ),視頻開發(fā)應(yīng)用等。全面涵蓋多媒體開發(fā)與應(yīng)用技術(shù),在《Android多媒體應(yīng)用開發(fā)實(shí)戰(zhàn)詳解:圖像、音頻、視頻、2D和3D》最后,通過兩個綜合實(shí)例,分別介紹了開發(fā)屏保系統(tǒng)和音樂播放器的基本流程,幫助讀者學(xué)以致用。
《Android多媒體應(yīng)用開發(fā)實(shí)戰(zhàn)詳解:圖像、音頻、視頻、2D和3D》適合Android程序員、研發(fā)人員及Android愛好者學(xué)習(xí),也可以作為相關(guān)培訓(xùn)學(xué)校和大專院校相關(guān)專業(yè)的教學(xué)用書。
書籍目錄
第1章 初識廬山真面目——Android概述
1.1 智能手機(jī)世界
1.1.1 何謂智能手機(jī)
1.1.2 當(dāng)前主流的智能手機(jī)系統(tǒng)
1.2 Android的巨大優(yōu)勢
1.2.1 系出名門
1.2.2 強(qiáng)大的開發(fā)團(tuán)隊
1.2.3 誘人的獎勵機(jī)制
1.3 搭建Android應(yīng)用開發(fā)環(huán)境
1.3.1 安裝Android SDK的系統(tǒng)要求
1.3.2 安裝JDK、Eclipse、Android SDK
1.3.3 設(shè)定Android SDK Home
1.3.4 驗證開發(fā)環(huán)境
1.3.5 創(chuàng)建Android虛擬設(shè)備(AVD)
1.3.6 常見的幾個問題
1.4 Android模擬器
1.4.1 Android模擬器簡介
1.4.2 模擬器和真機(jī)的區(qū)別
1.4.3 模擬器簡單總結(jié)
第2章 千里之行始于足下——多媒體開發(fā)前的準(zhǔn)備工作
2.1 簡析Android安裝文件
2.1.1 Android SDK目錄結(jié)構(gòu)
2.1.2 android.jar及內(nèi)部結(jié)構(gòu)
2.1.3 SDK文檔及閱讀技巧
2.1.4 Android SDK工具集
2.2 解析Android SDK實(shí)例
2.3 Android系統(tǒng)架構(gòu)
2.3.1 Android體系結(jié)構(gòu)介紹
2.3.2 Android應(yīng)用工程文件組成
2.3.3 應(yīng)用程序的生命周期
第3章 底層分析基礎(chǔ)
3.1 搭建Linux開發(fā)環(huán)境
3.1.1 安裝
3.1.2 設(shè)置環(huán)境變量
3.1.3 安裝編譯工具
3.2 獲取Android源代碼
3.3 分析并編譯Android源代碼
3.3.1 Android源代碼的結(jié)構(gòu)
3.3.2 編譯Android源代碼
3.3.3 運(yùn)行Android源代碼
3.3.4 兩種編譯Android程序的方法
3.4 運(yùn)行模擬器
3.4.1 Linux環(huán)境下運(yùn)行模擬器的方法
3.4.2 模擬器輔助工具——adb
3.5 Android的啟動過程
3.5.1 Init初始化進(jìn)程
3.5.2 ServiceManager進(jìn)程
3.5.3 Zygote進(jìn)程
3.5.4 SystemService進(jìn)程
3.6 進(jìn)程間的通信
3.7 多核通信
3.7.1 內(nèi)存共享
3.7.2 過程調(diào)用
第4章 多媒體框架
4.1 Android多媒體系統(tǒng)介紹
4.2 OpenMax框架
4.2.1 分析OpenMax框架構(gòu)成
4.2.2 實(shí)現(xiàn)OpenMax IL層接口
4.3 OpenCore框架
4.3.1 OpenCore層次結(jié)構(gòu)
4.3.2 OpenCore代碼結(jié)構(gòu)
4.3.3 OpenCore編譯結(jié)構(gòu)
4.3.4 OpenCore OSCL
4.3.5 實(shí)現(xiàn)OpenCore中的OpenMax部分
4.3.6 OpenCore擴(kuò)展
4.4 Stagefright框架
4.4.1 Stagefright代碼結(jié)構(gòu)
4.4.2 通過Stagefright實(shí)現(xiàn)OpenMax接口
4.4.3 Video Buffer傳輸流程
第5章 音頻系統(tǒng)框架
5.1 音頻系統(tǒng)結(jié)構(gòu)
5.2 分析音頻系統(tǒng)的層次
5.2.1 層次說明
5.2.2 Media庫中的Audio框架
5.2.3 本地代碼
5.2.4 JNI代碼
5.2.5 Java代碼
5.3 分析硬件抽象層
5.4 分析編碼/解碼過程
5.4.1 AMR編碼
5.4.2 AMR解碼
5.4.3 解碼MP3
第6章 視頻系統(tǒng)框架
6.1 視頻系統(tǒng)結(jié)構(gòu)
6.2 分析Overlay抽象層
6.2.1 Overlay系統(tǒng)硬件抽象層的接口
6.2.2 實(shí)現(xiàn)Overlay系統(tǒng)抽象層
6.2.3 實(shí)現(xiàn)接口
6.3 實(shí)現(xiàn)Overlay框架
第7章 Camera照相機(jī)系統(tǒng)
7.1 Camera系統(tǒng)的結(jié)構(gòu)
7.2 分析Camera接口和驅(qū)動
7.2.1 Camera驅(qū)動接口
7.2.2 硬件抽象層
7.3 實(shí)現(xiàn)Camera的硬件抽象層
7.3.1 Java程序部分
7.3.2 Camera的Java本地調(diào)用部分
7.3.3 Camera的本地庫libui.so
7.3.4 Camera服務(wù)libcameraservice.so
第8章 振動器系統(tǒng)和警報系統(tǒng)
8.1 振動器系統(tǒng)
8.1.1 硬件抽象層
8.1.2 JNI框架部分
8.1.3 實(shí)現(xiàn)硬件抽象層
8.2 Alarm警報器系統(tǒng)
8.2.1 Alarm系統(tǒng)的結(jié)構(gòu)
8.2.2 RTC驅(qū)動程序
8.2.3 模擬器環(huán)境的具體實(shí)現(xiàn)
第9章 繪制二維圖像
9.1 使用Color類設(shè)置文本顏色
9.2 使用Paint類繪制圖像
9.3 使用Canvas畫布
9.4 使用Rect矩形類
9.5 NinePatch類
9.6 使用Matrix類
9.7 Bitmap類
9.8 使用BitmapFactory類
9.9 使用Region類
9.10 使用Typeface類
9.11 使用Shader類
第10章 二維動畫應(yīng)用
10.1 使用Drawable實(shí)現(xiàn)動畫效果
10.1.1 Drawable基礎(chǔ)
10.1.2 使用Drawable實(shí)現(xiàn)動畫效果
10.2 實(shí)現(xiàn)Tween Animation動畫效果
10.2.1 Tween動畫基礎(chǔ)
10.2.2 定義動畫效果
10.2.3 Tween應(yīng)用實(shí)例1
10.2.4 Tween應(yīng)用實(shí)例2
10.2.5 Tween Animation總結(jié)
10.3 實(shí)現(xiàn)Frame Animation動畫效果
10.3.1 Frame動畫基礎(chǔ)
10.3.2 Frame動畫應(yīng)用實(shí)例
10.4 播放GIF動畫
10.5 實(shí)現(xiàn)EditText動畫特效
10.6 全新的Property Animation動畫
第11章 渲染二維圖像
11.1 Android GDI系統(tǒng)之SurfaceFlinger
11.1.1 SurfaceFinger基礎(chǔ)
11.1.2 Surface和Canvas
11.1.3 Surface渲染
11.2 Skia引擎
11.2.1 Skia基礎(chǔ)
11.2.2 Skia介紹
11.2.3 Skia中的類
11.2.4 使用Skia繪圖
11.2.5 Skia的其他功能
11.3 通過Skia繪制文字分析原理
第12章 OpenGL ES基礎(chǔ)
12.1 OpenGL ES介紹
12.2 OpenGL ES的基本應(yīng)用
12.2.1 點(diǎn)線法繪制三角形
12.2.2 索引法繪制三角形
12.2.3 頂點(diǎn)法繪制三角形
12.3 實(shí)現(xiàn)投影效果
12.3.1 正交投影
12.3.2 透視投影
12.3.3 實(shí)現(xiàn)投影效果
12.4 實(shí)現(xiàn)光照效果
12.4.1 光照基礎(chǔ)
12.4.2 實(shí)例應(yīng)用——開啟/關(guān)閉光照
12.4.3 實(shí)例應(yīng)用——實(shí)現(xiàn)定位光效果
12.5 實(shí)現(xiàn)紋理映射效果
12.5.1 紋理映射基礎(chǔ)
12.5.2 實(shí)例應(yīng)用——實(shí)現(xiàn)三角形紋理貼圖效果
12.5.3 實(shí)例應(yīng)用——實(shí)現(xiàn)地月模型效果
12.5.4 實(shí)例應(yīng)用——實(shí)現(xiàn)紋理拉伸效果
第13章 OpenGL ES進(jìn)階
13.1 繪制基本的三維形狀
13.1.1 繪制一個圓柱體
13.1.2 繪制一個圓環(huán)
13.1.3 繪制一個拋物面效果
13.1.4 繪制一個螺旋面效果
13.2 實(shí)現(xiàn)坐標(biāo)變換操作
13.2.1 實(shí)現(xiàn)縮放變換效果
13.2.2 實(shí)現(xiàn)平移變換效果
13.3 實(shí)現(xiàn)混合效果
13.3.1 基本知識
13.3.2 實(shí)現(xiàn)混合效果
13.4 實(shí)現(xiàn)攝像機(jī)和霧特效效果
13.4.1 攝像機(jī)
13.4.2 霧特效
13.4.3 實(shí)現(xiàn)霧特效和攝像機(jī)效果
13.5 粒子系統(tǒng)
13.5.1 粒子系統(tǒng)基礎(chǔ)
13.5.2 實(shí)現(xiàn)粒子系統(tǒng)效果
第14章 音頻開發(fā)應(yīng)用
14.1 音頻應(yīng)用接口類介紹
14.2 AudioManager類
14.2.1 AudioManager基礎(chǔ)
14.2.2 AudioManager基本應(yīng)用——設(shè)置短信提示鈴聲
14.2.3 AudioManager基本應(yīng)用——調(diào)節(jié)手機(jī)音量的大小
14.3 錄音處理
14.3.1 使用MediaRecorder接口錄制音頻
14.3.2 使用AudioRecord接口錄制音頻
14.4 播放音頻
14.4.1 使用AudioTrack播放音頻
14.4.2 使用MediaPlayer播放音頻
14.4.3 使用SoundPool播放音頻
14.4.4 使用Ringtone播放鈴聲
14.4.5 使用JetPlayer播放音頻
14.4.6 使用AudioEffect處理音效
14.5 語音識別技術(shù)
14.5.1 Text-To-Speech技術(shù)
14.5.2 谷歌的Voice Recognition技術(shù)
14.6 實(shí)現(xiàn)振動效果
14.6.1 Vibrator類基礎(chǔ)
14.6.2 使用Vibrator實(shí)現(xiàn)振動效果
14.7 設(shè)置鬧鐘
14.7.1 AlarmManage基礎(chǔ)
14.7.2 開發(fā)一個鬧鐘程序
第15章 視頻開發(fā)應(yīng)用
15.1 使用MediaPlayer播放視頻
15.2 使用VideoView播放視頻
15.2.1 VideoView基礎(chǔ)
15.2.2 使用VideoView播放手機(jī)中的影片
15.2.3 使用VideoView播放手機(jī)中的MP4
15.3 使用Camera拍照
15.3.1 Camera基礎(chǔ)
15.3.2 總結(jié)Camera拍照的流程
15.3.3 使用Camera預(yù)覽并拍照
第16章 開發(fā)一個屏保程序
16.1 屏幕保護(hù)程序介紹
16.1.1 屏幕保護(hù)程序的作用
16.1.2 手機(jī)中的屏幕保護(hù)程序
16.2 開發(fā)屏保程序的原理
16.3 開發(fā)一個屏保程序
16.3.1 準(zhǔn)備素材圖片
16.3.2 編寫布局文件
16.3.3 編寫主程序文件
第17章 開發(fā)一個音樂播放器
17.1 項目介紹
17.1.1 項目背景介紹
17.1.2 項目的目的
17.2 系統(tǒng)需求分析
17.2.1 構(gòu)成模塊
17.2.2 系統(tǒng)流程
17.2.3 功能結(jié)構(gòu)圖
17.2.4 系統(tǒng)功能說明
17.2.5 系統(tǒng)需求
17.3 數(shù)據(jù)庫設(shè)計
17.3.1 字段設(shè)計
17.3.2 E-R圖設(shè)計
17.3.3 數(shù)據(jù)庫連接
17.3.4 創(chuàng)建數(shù)據(jù)庫
17.3.5 操作數(shù)據(jù)庫
17.3.6 數(shù)據(jù)顯示
17.4 具體編碼
17.4.1 設(shè)置服務(wù)信息
17.4.2 播放器主界面
17.4.3 播放列表功能
17.4.4 菜單功能模塊
17.4.5 播放設(shè)置界面
17.4.6 設(shè)置顯示歌詞
17.4.7 文件瀏覽器模塊
17.4.8 數(shù)據(jù)存儲
17.5 總結(jié)
章節(jié)摘錄
版權(quán)頁: 插圖: 程序也如同自然界的生物一樣,有自己的生命周期。應(yīng)用程序的生命周期即程序的存活時間,即在啥時間內(nèi)有效。Android是構(gòu)建在Linux之上的開源移動開發(fā)平臺,在Android中,多數(shù)情況下每個程序都是在各自獨(dú)立的Linux進(jìn)程中運(yùn)行的。當(dāng)一個程序或其某些部分被請求時,它的進(jìn)程就“出生”了。當(dāng)這個程序沒有必要再運(yùn)行下去且系統(tǒng)需要回收這個進(jìn)程的內(nèi)存用于其他程序時,這個進(jìn)程就“死亡”了??梢钥闯觯珹ndroid程序的生命周期是由系統(tǒng)控制而非程序自身直接控制的。這和我們編寫桌面應(yīng)用程序時的思維有一些不同,一個桌面應(yīng)用程序的進(jìn)程也是在其他進(jìn)程或用戶請求時被創(chuàng)建,但是往往是在程序自身收到關(guān)閉請求后執(zhí)行一個特定的動作(如從main函數(shù)中返回)而導(dǎo)致進(jìn)程結(jié)束的。要想做好某種類型的程序或者某種平臺下程序的開發(fā),最關(guān)鍵的就是要弄清楚這種類型的程序或整個平臺下的程序的一般工作模式,并熟記在心。在Android中,程序的生命周期控制就是屬于這個范疇。 開發(fā)者必須理解不同的應(yīng)用程序組件,尤其是Activity、Service和Intent Receiver。了解這些組件是如何影響應(yīng)用程序的生命周期的,這非常重要。如果不正確地使用這些組件,可能會導(dǎo)致系統(tǒng)終止正在執(zhí)行重要任務(wù)的應(yīng)用程序進(jìn)程。 一個常見的進(jìn)程生命周期漏洞的例子是Intent Receiver(意圖接收器),當(dāng)Intent Receiver在onReceive方法中接收到一個Intent(意圖)時,它會啟動一個線程,然后返回。一旦返回,系統(tǒng)將認(rèn)為Intent Receiver不再處于活動狀態(tài),因而Intent Receiver所在的進(jìn)程也就不再有用了(除非該進(jìn)程中還有其他的組件處于活動狀態(tài))。因此,系統(tǒng)可能會在任意時刻終止該進(jìn)程以回收占有的內(nèi)存。這樣進(jìn)程中創(chuàng)建出的那個線程也將被終止。解決這個問題的方法是從Intent Receiver中啟動一個服務(wù),讓系統(tǒng)知道進(jìn)程中還有處于活動狀態(tài)的工作。為了使系統(tǒng)能夠正確決定在內(nèi)存不足時應(yīng)該終止哪個進(jìn)程,Android根據(jù)每個進(jìn)程中運(yùn)行的組件及組件的狀態(tài)把進(jìn)程放入一個“Importance Hierarchy(重要性分級)”中。進(jìn)程的類型按重要程度排序。它有一個可以被用戶從屏幕上看到的活動,但不在前臺(它的onPause方法被調(diào)用)。例如,如果前臺的活動是一個對話框,以前的活動就隱藏在對話框之后,就會出現(xiàn)這種進(jìn)程??梢娺M(jìn)程非常重要,一般不允許被終止,除非是了保證前臺進(jìn)程的運(yùn)行而不得不終止它。
編輯推薦
《Android多媒體應(yīng)用開發(fā)實(shí)戰(zhàn)詳解:圖像、音頻、視頻、2D和3D》適合Android程序員、研發(fā)人員及Android愛好者學(xué)習(xí),從入門到深入,從底層到應(yīng)用,知識點(diǎn)環(huán)環(huán)相扣,實(shí)用性強(qiáng),深入分析總結(jié)了音頻、視頻、三維和圖像應(yīng)用的知識,也可以作為相關(guān)培訓(xùn)學(xué)校和大專院校相關(guān)專業(yè)的教學(xué)用書。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Android多媒體應(yīng)用開發(fā)實(shí)戰(zhàn)詳解 PDF格式下載