《最新Android套用開發揭秘》是2010年由機械工業出版社出版的圖書,作者是楊豐盛。
基本介紹
- 書名:最新Android套用開發揭秘
- 作者:楊豐盛
- ISBN:9787111291954
- 頁數:515
- 出版社:機械工業出版社
- 出版時間:2010 年7月
- 開本:16開
編輯推薦,內容簡介,目錄,前言,媒體評論,
編輯推薦
國內首本基於Android 2.0的經典著作,5大專業社區一致鼎力推薦!
內容簡介
國內第一本基於android 2.0的經典著作,5大專業社區聯袂推薦,權威性毋庸置疑!
本書對Android進行了詳細的介紹,然後講述了如何進行了Android的程式開發。
本書內容全面,不僅詳細講解了android框架、android組件、用戶界面開發、遊戲開發、數據存儲、多媒體開發和網路開發等基礎知識,而且還深入闡述了感測器、語音識別、桌面組件開發、android遊戲引擎設計、android套用最佳化、opengl等高級知識,最重要的是還全面介紹了如何利用原生的c/c++(ndk)和python、lua等腳本語言(android scripting environment)來開發android套用;本書實戰性強,書中的每個知識點都有配精心設計的示例,尤為值得一提的是,它還以疊代的方式重現了各種常用的android套用和經典android遊戲的開發全過程,既可以以它們為範例進行實戰演練,又可以將它們直接套用到實際開發中去。
windows作業系統的誕生成就了微軟的霸主地位,也造就了pc時代的繁榮。然而,以android和iphone手機為代表的智慧型移動設備的發明卻敲響了pc時代的喪鐘!移動網際網路時代(3g時代)已經來臨,誰會成為這些移動設備上的主宰?毫無疑問,它就是android——pc時代的windows!
移動網際網路還是一個新生的嬰兒,各種移動設備上的作業系統群雄爭霸!與symbian、iphone os、windows mobile相比,android有著天生的優勢——完全開放和免費,對廣大開發者和手機廠商而言,這是何等的誘人!此外,在google和以其為首的android手機聯盟的大力支持和推廣下,android不僅得到了全球開發者社區的關注,而且一大批世界一流的手機廠商都已經或準備採用android。
擁抱android開發,擁抱移動開發的未來!
·android開發與傳統的j2me開發有何相似與不同?
·如何通過shared preferences、files、network和sqlite等方式高效實現android數據的存儲?又如何通過content providers輕鬆地實現android數據的共享?
·如何使用open core、mediaplayer、mediarecorder方便快速地開發出包含音頻和視頻等流媒體的豐富多媒體套用?
·如何利用android 2.0中新增的藍牙特性開發包含藍牙功能的套用?又如何使用藍牙api來完善套用的網路功能?
·如何解決android網路通信中的亂碼問題?
·在android中如何使用語音服務和 google map api?android如何訪問攝像頭、感測器等硬體的api?
·如何進行widget開發?如何用各種android組件來打造漂亮的ui界面?
·android如何解析xml數據?又如何提高解析速度和減少對記憶體、cpu資源的消耗?
·如何使用opengl es在android平台上開發出絢麗的3d套用?在android平台上如何更好地設計和實現遊戲引擎?
·如何對android套用進行最佳化?如何進行程式性能測試?如何實現ui、zipalign和圖片最佳化?
·如何通過ndk利用c、c++以及通過ase利用python等腳本語言開發android套用?
目錄
前言
第一部分 準備篇
第1章 android開發簡介
1.1 android基本概念
1.1.1 android簡介
1.1.2 android的系統構架
1.1.3 android應用程式框架
1.2 oms介紹
1.2.1 ophone介紹
1.2.2 widget介紹
1.3 小結
第2章 android開發環境搭建
2.1 android開發準備工作
2.2 開發包及其工具的安裝和
配置
2.2.1 安裝jdk和配置java開發
環境
2.2.2 eclipse的安裝與漢化
2.2.3 sdk和adt的安裝和
.配置
2.3 創建第一個android項目——heuoandroid
2.3.1 創建helloandroid項目
2.3.2 運行helloandroid及模擬器的使用
2.3.3 調試helloandroid
2.4 小結
第二部分 基礎篇
第3章 android程式設計基礎
3.1 android程式框架
3.1.1 android項目目錄結構
3.1.2 android套用解析
3.2 android的生命周期
3.3 android程式u設計
3.4 小結
第4章 用戶界面開發
4.1 用戶界面開發詳解
4.1.1 用戶界面簡介
4.1.2 事件處理
4.2 常用控制項套用
4.2.1 文本框(textiew)
4.2.2 列表(listview)
4.2.3 提示(t0ast)
4.2.4 編輯框(edittext)
4.2.5 單項選擇(radiogroup、radiobutton
4.2.6 多項選擇(checkbox)
4.2.7 下拉列表(spinner)
4.2.8 自動提示(autocomplete.textⅥew)
4.2.9 日期和時間(datepicker、timepicker)
4.2.10 按鈕(button)
4.2.1l 選單(menu)
4.2.12 對話框(dialog)
4.2.13 圖片視圖(imageview)
4.2.14 帶圖示的按鈕(imagebutton)
4.2.15 拖動效果(gallery)
4.2.16 切換圖片(hmgeswilcher)
4.2.17 格線視圖(gridview)
4.2.18 捲軸視圖(scrollview)
4.2.19 進度條(progressbar)
4.2.20 拖動條(seekbar)
4.2.21 狀態欄提示(notification、notificationmanager)
4.2.22 對話框中的進度條(progressdialog)
4.3 界面布局
4.3.1 垂直線性布局
4.3.2 水平線性布局
4.3.3.相對布局(relativelayout)
4.3.4 表單布局(tablelayout)
4.3.5 切換卡(tabwidget)
4,4 小結
第5章 android遊戲開發
5.1 android遊戲開發框架
5.1.1 view類開發框架
5.1.2 surfaceview類開發框架
5.2 graphics類開發
5.5.1 paint和color類介紹
5.2.2 canvas類介紹
5.2.3 幾何圖形繪製
5.2.4 字元串繪製
5.2.5 圖像繪製
5.2.6 圖像旋轉
5.2.7 圖像縮放
5.2.8 圖像像素操作
5.2.9 shader類介紹
5.2.10 雙緩衝技術
5.2.11 全螢幕顯示
5.2.12 獲得螢幕屬性
5.3 動畫實現
5.3.1 tween動畫
5.3.2 frame動畫
5.3.3 gif動畫播放
5.4 小結
第6章 android數據存儲
6.1 android數據存儲初探
6.2 數據存儲之shared preferences
6.3 數據存儲之files
6.4 數據存儲之network
6.5 android資料庫編程
6.5.1 sqlite簡介
6.5.2 sqlite編程詳解
6.5.3 sqliteopenhelper套用
6.6 數據共享(contentproviders)
6.7 小結
第7 章多媒體開發
7.1 多媒體開發詳解
7.1.1 open core
7.1.2 mediaplayer
7.1.3 mediarecorder
7.2 播放音樂
7.3 播放視頻
7.4 錄製歌曲
7.5 相機設定
7.6 鬧鐘設定
7.7 鈴聲設定
7.8 小結
第8章 網路與通信
8.1 網路通信基礎
8.1.1 無線網路技術
8.1.2 android網路基礎
8.2 http通信
8.2.1 httpurlconnection接口
8.2.2 httpclient接口
8.2.3 實時更新
8.3 socket通信
8.3.1 socket基礎
8.3.2 socket套用(簡易聊天室)
8.4 網路通信的中文亂碼問題
8.5 webkit套用
8.5.1 webkjt概述
8.5.2 webview瀏覽網頁
8.5.3 webview與javascript
8.6 wtfi介紹
8.7 藍牙
8.8 小結
第9章 android特色開發
9.1 感測器
9.2 語音識別
9.3 googlemap
9.3.1 googlemap概述
9.3.2 準備工作
9.3.3 googlemapapi的使用
9.3.4 定位系統
9.4 桌面組件
9.4.1 捷徑
9.4.2 實時資料夾
9.4.3 widget開發
9.5 賬戶管理
9.6 小結
第三部分 實例篇
第10章 android套用開發
實例
10.1 情境模式
10.2 檔案管理器
10.3 通訊錄
10.4 音樂播放器
10.5 天氣預報
10.6 個人地圖
10.7 widget日曆
10.8 小結
第11 章android遊戲開發實例
11.1 手機遊戲開發簡介
11.2 遊戲框架設計
11.3 地圖設計
11.4 主角設計
11.5 圖層管理器
11.6 遊戲音效
11.7 遊戲存檔
11.8 小結
第四部分 高級篇
第12章 androidopengl開發
基礎
12.1 opengl簡介
12.2 多邊形
12.3 顏色
12.4 旋轉
12.5 3d 空間
12.6 紋理映射
12.7 光照和事件
12.8 混合
12.9 小結
第13章 androidopengl綜合
套用
13.1 移動圖像
13.2.3d 世界
13.3 飄動的旗幟
13.4 顯示列表
13.5 霧
13.6 粒子系統
13.7 蒙版
13.8 變形
13.9 小結
第14章 遊戲引擎實現
14.1 遊戲引擎介紹
14.1.1 什麼是引擎
14.1.2 引擎的進化
14.1.3 常見的遊戲引擎
14.1.4 android遊戲引擎
14.2 遊戲引擎結構
14.2.1 遊戲引擎原理
14.2.2 遊戲引擎定位
14.2.3 遊戲引擎框架
14.3 遊戲引擎設計
14.3.1 遊戲引擎結構和功能
設計
14.3.2 遊戲引擎設計注意事項
14.4 遊戲引擎實現
14.4.1 activity類實現
14.4.2 流程控制和執行緒
14.4.3 遊戲對象與對象管理
14.4.4 圖形引擎
14.4.5 物理引擎
14.4.6 事件模組
14.4.7 工具模組
14.4.8 腳本引擎、音效模組、網路
模組
14.5 小結
第15章 最佳化技術
15.1 最佳化的基本知識
15.1.1 如何書寫出優秀代碼
15.1.2 編程規範
15.2 程式性能測試
15.2.1 計算性能測試
15.2.2 記憶體消耗測試
15.3 初級最佳化
15.4 高級最佳化
15.5 android高效開發
15.6 androidui最佳化
15.7 其他最佳化
15.7.1 zipalign
15.7.2 圖片最佳化
15.8 小結
第五部分 擴展篇
第16章 android ndk開發
16.1 androidndk簡介
16.2 安裝和配置ndk開發環境
16.2.1 系統和軟體需求
16.2.2 ndk開發環境搭建
16.2.3 編譯第一個ndk程式
16.3 androidndk開發
16.3.1 jni接口設計
16.3.2 使用c\c++實現本地
方法
16.3.3 android mk實現
16.3.4 application mk實現
16.3.5 編譯c\c++代碼
16.4 androidndk中使用0pengl
16.5小結
第17章 android腳本環境
17.1 android腳本環境簡介
17.2 android腳本環境安裝
17.3如何編寫android腳本程式
17.4小結
前言
3G牌照在國內發放後,3G、Andriod、iPhone、Google、蘋果、手機軟體、移動開發等詞越來越充斥於耳。隨著3G網路的大規模建設和智慧型手機的迅速普及,移動網際網路時代已經微笑著迎面而來。
以創新的搜尋引擎技術而一躍成為網際網路巨頭的Google,無線搜尋成為Google進軍移動網際網路的一塊基石。早在2007年,Google中國就把無線搜尋當作戰略重心,不斷推出新產品,嘗試通過戶外媒體推廣移動搜尋產品,並積極與運營商、終端廠商、瀏覽器廠商等達成戰略合作。
Android作業系統是Google最具殺傷力的武器之一。蘋果以其天才的創新,使得iPhone在全球迅速擁有了數百萬忠實“冬粉”,而Android作為第一個完整、開放、免費的手機平台,使開發者在為其開發程式時擁有更大的自由。與Windows Mobile、Symbian等廠商不同的是,Android作業系統免費向開發人員提供,這樣可節省近三成成本,得到了眾多廠商與開發者的擁護。最早進入Andriod市場的宏達電已經陸續在一年內推出了G1、Magic、Hero、Tattoo等4款手機,三星也在近期推出了Galaxyi7500,連摩托羅拉也推出了新款Andorid手機Cliq,中國移動也以Android為基礎開發了Ophone平台。這些發展證明Android已經成為智慧型手機市場的重要發展趨勢。
從技術角度而言,Android與iPhone相似,採用WebKit瀏覽器引擎,具備觸控螢幕、高級圖形顯示和上網功能,用戶能夠在手機上查收電子郵件、搜尋網址和觀看視頻節目等。Android手機比iPhone等其他手機更強調搜尋功能,界面更強大,可以說是一種融入了全部Web套用的平台。Android的版本包括Android 1.1、Android 1.5、Android 1.6,Android 2.0剛發布不久。隨著版本的更新,從最初的觸屏到現在的多點觸摸,從普通的聯繫人到現在的數據同步,從簡單的Google Map到現在的導航系統,從基本的網頁瀏覽到現在的HTML 5,這都說明Android已經逐漸穩定,而且功能越來越強大。此外,Android平台不僅支持Java、C、C++等主流的程式語言,還支持Ruby、Python等腳本語言,甚至Google專為Android的套用開發推出了Simple語言,這使得Android有著非常廣泛的開發群體。
我們都知道,無論是產品還是技術,商業套用是它最大的發展動力。Android如此受廠商與開發者的青睞,它的前景一片光明。伴隨著裝有Android作業系統的移動設備的增加,基於Android的套用需求勢必也會增加。Android作為新的平台、新的技術,國內目前介紹其技術的書籍甚少,不能滿足各個層次的開發者,為了幫助眾多開發人員和愛好者進入移動網際網路領域,並提高程式開發水平,筆者寫作了本書。
本書面向的讀者
閱讀本書的唯一條件是具有一定的Java基礎,當然擴展篇可能會涉及C、C++和腳本語言的知識。
本書面向的讀者群包括毫無Android開發經驗的初學者,以及有一定的Android開發經驗但缺乏系統學習的開發人員。
如何閱讀本書
本書從基礎入手,循序漸進地講述了Android的主要功能和用法,使讀者對其有完整的認識,掌握其結構框架。同時,從實戰的角度出發,通過大量的示例程式,讓讀者邊學習邊實踐,更深刻地理解Android系統的優點所在。
另外本書為每個功能和知識點都提供了一個示例程式,可操作性極強,建議在閱讀書本書的同時,一定要結合本書所附帶的示例程式(完整的示例程式原始碼可登錄華章網站下載)。本書所附的示例程式都是基於最新的Android 2.0 的SDK,原始碼目錄結構如圖1所示,章節中每一個示例,都可以根據所在的章節及所指定的項目名稱在所附原始碼中找到對應的項目資料夾。每個項目資料夾都按如圖2所示的目錄結構來存放項目所需的所有源檔案。
在安裝了Android開發環境之後,可以直接將Android項目導入到Eclipse中,步驟如下:
首先,啟動Eclipse,選擇“File"→“Import..."選單,展開“General”項,選擇“Existing Projects into Workspace”導入項目到工作區,如圖3所示。
圖3 導入項目到工作區
然後,點擊“Next”按鈕,進入選擇項目檔案目錄,如圖4所示,選擇好項目目錄後,點擊“Finish”按鈕,等待導入完成即可。如果需要將項目檔案一起拷貝到工作區,就需要在圖4的界面上選擇“Copy projects into workspace”複選框。
圖4 選擇項目檔案
致謝
感謝所有在本書寫作過程中給予我指導、幫助和鼓勵的朋友,尤其是本書的策劃編輯楊福川,他不僅對本書提出了寶貴的寫作建議,而且還和他的同事曾珊對書稿進行了仔細的審閱。
感謝一直以來信任、鼓勵、支持我的父母和親人。
最後還要感謝我的女友,正是她的愛與支持,才使我有了今天的收穫。
媒體評論
20世紀90年代初,裘伯君、鮑岳橋等IT行業的前輩“單打獨鬥”就能開發出膾炙人口的套用,如今做一個項目動輒就需要數百人的大規模團隊和千萬級的巨額開發費用,程式設計師真的沒有了展露個人才華和創意的機會嗎?我們正站在移動技術改變人類生活方式的十字路口,而移動網際網路正是這一切的關鍵。Android以全新的開放平台和全球化的市場,為小團隊提供了一個充分展現自己的舞台。本書為所有Android開發者提供了絕佳的參考,不可不讀!
—Android中文站
與已經出版的所有同類書相比,本書內容更全面,幾乎涵蓋了Android開發的所有方面;實戰性更強,不僅各個知識點都有翔實的範例,而且還包含多個實用的完整案例;主題更新穎,Android 2.0中的各種最新特性一覽無餘……本書值得各種水平層次的Android套用開發者閱讀,強烈推薦!
—Android中文用戶組
隨著3G技術的成熟和智慧型手機的不斷普及,移動套用的需求與日俱增,移動套用開發成為當下最熱門的技術之一。在Google和Android手機聯盟的共同推動下,Android在眾多移動套用開發平台中脫穎而出。本書的出版對於廣大Android套用開發者來說不啻是一種福音,它將為Android開發者社區注入強大的活力!
—畢惠子 Android實驗室
隨著移動智慧型設備的普及,我國移動套用的需求即將迎來“井噴”,本書能讓你輕鬆轉型為Android開發者,助你笑傲移動套用開發之巔。極力推薦!
—谷奧
這是一本參考手冊,內容的完整性和系統性幾乎無可挑剔,可作為廣大Android開發者的案頭必備書;這是一部權威指南,基礎知識部分翔實而豐富,高級知識部分深入且飽含最佳實踐,能從本質上提升開發者對Android的理解和開發水平。尤為值得一提的是,Android 2.0中新增了大量激動人心的新特性,不僅支持多點觸摸設備、軟鍵盤,而且還支持多賬戶線上管理、藍牙……作為國內第一本基於Android 2.0的著作,本書可謂極具前瞻性,第一時間將這些新特性完美地呈現給了廣大讀者。
—安卓網