出版時間:2012-10 出版社:電子工業(yè)出版社 作者:鄭萌 等編著 頁數(shù):459 字數(shù):761000
前言
Android一詞的本義指“機器人”,是由Google公司于2007年11月正式對外發(fā)布的,作為一種以Linux為基礎(chǔ)的開放源代碼操作系統(tǒng),主要用于便攜設(shè)備。依靠Google的強大開發(fā)和媒體資源,憑借其開放性和優(yōu)異性,Android平臺在發(fā)展的過程中得到了包括大手機廠商和著名移動運營商在內(nèi)的業(yè)界的廣泛支持,除手機的應(yīng)用之外,目前已逐漸擴展到平板電腦及其他領(lǐng)域上。2011年第一季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2012年2月數(shù)據(jù),Android占據(jù)全球智能手機操作系統(tǒng)市場52.5%的份額,中國市場占有率為68.4%。與此同時,隨著行業(yè)的迅猛發(fā)展,Android研發(fā)工程師更是日益成為IT職場的緊缺人才。近幾年來,各大學(xué)、院校已經(jīng)紛紛開設(shè)Android移動開發(fā)專業(yè)。但是,各院校在Android專業(yè)教學(xué)建設(shè)的過程中幾乎都面臨教材難覓、內(nèi)容更新遲緩的困境。雖然目前市場上的Android開發(fā)相關(guān)的書籍比較多,但幾乎都是針對有一定基礎(chǔ)的行業(yè)內(nèi)研發(fā)人員而編寫的,并不完全符合高校的教學(xué)要求。高校教學(xué)需要一套充分考慮學(xué)生現(xiàn)有知識基礎(chǔ)和接受度的、明確各門課程教學(xué)目標的、便于學(xué)校安排課時的Android專業(yè)系列教材?! ♂槍Ω咝I(yè)教材缺乏的現(xiàn)狀,我們以多年來在嵌入式工程技術(shù)領(lǐng)域及移動開發(fā)行業(yè)內(nèi)人才培養(yǎng)、項目研發(fā)的經(jīng)驗為基礎(chǔ),匯總了近幾年積累的數(shù)百家企業(yè)對Android研發(fā)相關(guān)崗位的真實需求,并結(jié)合行業(yè)應(yīng)用技術(shù)的最新狀況及未來發(fā)展趨勢,調(diào)研了開設(shè)Android專業(yè)的大學(xué)院校的課程設(shè)置情況、學(xué)生特點和教學(xué)用書現(xiàn)狀。通過細致的整理和分析,對專業(yè)技能和基本知識進行合理劃分,我們編寫了這套高等院?!癆ndroid開發(fā)人才培養(yǎng)規(guī)劃教材”,包括以下4種: 《Android系統(tǒng)下Java編程詳解》 《Android應(yīng)用程序開發(fā)與典型案例》 《Android游戲案例開發(fā)與關(guān)鍵技術(shù)》 《Android系統(tǒng)移植與驅(qū)動開發(fā)技術(shù)》 本套教材按照專業(yè)整體教學(xué)要求組織編寫,各自對應(yīng)的主干課程之間既相對獨立,又有機銜接,整套教材具有系統(tǒng)性??紤]到Android研發(fā)領(lǐng)域?qū)W(xué)生Java語言能力要求較高,專門有針對性地編寫了《Android系統(tǒng)下Java編程詳解》這本教材,可供“Java語言基礎(chǔ)”課程的后續(xù)提高課程使用;《Android應(yīng)用程序開發(fā)與典型案例》則結(jié)合Android應(yīng)用開發(fā)的核心知識,重點突出了貫穿前面所學(xué)知識的實訓(xùn)案例及內(nèi)容,可供“Android應(yīng)用程序開發(fā)”課程使用;在Android游戲開發(fā)方面,根據(jù)各院校的教學(xué)重點和行業(yè)實際應(yīng)用情況,量身定制了《Android游戲案例開發(fā)與關(guān)鍵技術(shù)》;《Android系統(tǒng)移植與驅(qū)動開發(fā)技術(shù)》側(cè)重介紹Android底層移植和驅(qū)動技術(shù)。 本書是其中之一,主要講解Android應(yīng)用開發(fā)的核心技術(shù)及典型應(yīng)用案例。作為位于Android程序庫和運行時上面的應(yīng)用程序框架層,Android通過提供開放的開發(fā)平臺,使開發(fā)者能夠訪問核心應(yīng)用程序所使用的API框架,這樣使得組件的重用得以簡化,任何應(yīng)用程序都能發(fā)布它的功能且其他應(yīng)用程序可以使用這些功能(需要服從框架執(zhí)行的安全限制)。從而使得開發(fā)者可以編制極其豐富和新穎的應(yīng)用程序,自由地利用設(shè)備硬件優(yōu)勢、訪問位置信息、運行后臺服務(wù)、設(shè)置鬧鐘、向狀態(tài)欄添加通知等。本書將結(jié)合大量應(yīng)用實例分析講解Android平臺的應(yīng)用程序框架層,以幫助學(xué)生達到學(xué)用結(jié)合的目的。 本書共23章,內(nèi)容包含兩大部分。第一部分是Android程序設(shè)計基礎(chǔ),在講解Android環(huán)境搭建以及Android系統(tǒng)基本控件和組件的基礎(chǔ)上,結(jié)合豐富的實例介紹了Android系統(tǒng)應(yīng)用編程中典型的技術(shù),比如,Android中的圖形圖像、多媒體編程、GPS定位與地圖編程等;第二部分是Android程序UI設(shè)計原則和方法,主要是從手機軟件的交互設(shè)計談起,從方法論的角度介紹了Android用戶界面設(shè)計原則和方法、Android用戶界面設(shè)計哲學(xué)等,并結(jié)合實際研發(fā)需求給出了具體建議?! ”緯扇A清遠見嵌入式學(xué)院資深講師鄭萌主編并統(tǒng)校全稿。本書的完成需要感謝華清遠見嵌入式學(xué)院及華清遠見3G學(xué)院,教材內(nèi)容參考了學(xué)院與嵌入式及移動開發(fā)企業(yè)需求無縫對接的、科學(xué)的專業(yè)人才培養(yǎng)體系。參與本書編寫的人員有趙常松、謝培良、崔浩、周志強、李宗亮、李姍姍、吳現(xiàn)凱、高良偉、王澤政、蔣鐸、袁升、付世全、趙建喬、趙晶晶,在此表示衷心的感謝?! ∮捎谧髡咚剿蓿瑫胁煌字幵谒y免,懇請讀者批評指正。對于本書的批評和建議,可以發(fā)到www.farsight.com.cn網(wǎng)站的技術(shù)論壇中?! 【幹摺 ?012年9月
內(nèi)容概要
本書共23章,內(nèi)容包含兩大部分。第一部分是Android程序設(shè)計基礎(chǔ),在介紹Android環(huán)境搭建以及Android系統(tǒng)基本控件和組件后,詳細介紹了Android系統(tǒng)應(yīng)用編程中典型的技術(shù),比如,Android中的圖形圖像、多媒體編程、GPS定位與地圖編程等;第二部分是Android程序UI設(shè)計,從手機軟件的交互設(shè)計談起,介紹了Android用戶界面設(shè)計原則和方法、Android用戶界面設(shè)計哲學(xué)等,并給出了具體建議。
書籍目錄
上篇 Android應(yīng)用程序設(shè)計基礎(chǔ)
第1章 Android基本概念
1.1 Android簡介
1.2 Android平臺特性
1.3 Android系統(tǒng)架構(gòu)
1.3.1 Linux內(nèi)核(Linux Kernel)
1.3.2 Android核心庫(Libraries)
1.3.3 Android運行時環(huán)境(Android Runtime)
1.3.4 Android應(yīng)用程序框架(Application Framework)
1.3.5 Android應(yīng)用程序
1.4 Android開發(fā)框架
1.4.1 應(yīng)用方面
1.4.2 數(shù)據(jù)存儲
1.4.3 網(wǎng)絡(luò)訪問方面
1.4.4 開發(fā)流程
1.5 OMS簡介
1.5.1 OPhone介紹
1.5.2 Widget介紹
1.6 本章小結(jié)
第2章 Android開發(fā)環(huán)境搭建
2.1 Android 開發(fā)環(huán)境的安裝與配置
2.1.1 安裝JDK和配置Java開發(fā)環(huán)境
2.1.2 Eclipse的安裝
2.1.3 SDK和ADT的安裝和配置
2.2 創(chuàng)建第一個Android應(yīng)用
2.3 在模擬器上運行程序
2.4 在手機上運行程序
2.5 本章小結(jié)
第3章 程序設(shè)計基礎(chǔ)
3.1 Android程序框架
3.1.1 Android項目目錄結(jié)構(gòu)
3.1.2 Android應(yīng)用解析
3.2 Android程序UI設(shè)計
3.3 Java語言在Android程序中的使用
3.3.1 Interface的使用
3.3.2 abstract class的使用
3.3.3 Interface與Abstract class的區(qū)別
3.3.4 for循環(huán)的使用
3.3.5 Map類的使用
3.3.6 Integer與String之間的轉(zhuǎn)換
3.3.7 synchronized同步關(guān)鍵字
3.3.8 new的使用
3.4 本章小結(jié)
第4章 Android生命周期
4.1 程序生命周期
4.2 Android組件
4.3 Activity生命周期
4.3.1 全生命周期
4.3.2 可視生命周期
4.3.3 活動生命周期
4.4 Activity啟動模式
4.4.1 standard標準模式
4.4.2 singleTop
4.4.3 singleTask
4.4.4 singleInstance
4.5 程序調(diào)試
4.5.1 LogCat命令行工具
4.5.2 DevTools開發(fā)調(diào)試工具
4.6 本章小結(jié)
第5章 用戶界面開發(fā)
5.1 用戶界面基礎(chǔ)
5.2 界面布局
5.2.1 線性布局(LinearLayout)
5.2.2 框架布局(FrameLayout)
5.2.3 表格布局(TableLayout)
5.2.4 相對布局(RelativeLayout)
5.2.5 絕對布局(AbsoluteLayout)
5.3 界面控件
5.3.1 TextView 和 EditText
5.3.2 Button 和 ImageButton
5.3.3 CheckBox 和 RadioButton
5.3.4 Spinner
5.3.5 ListView
5.3.6 TabHost
5.4 菜單
5.4.1 選項菜單
5.4.2 子菜單
5.4.3 上下文菜單(Context Menu)
5.5 界面事件
5.5.1 按鍵事件
5.5.2 觸摸事件
5.6 自定義樣式和主題
5.7 9Patch
5.8 本章小結(jié)
第6章 組件間通信
6.1 Intent對象及其屬性
6.1.1 Intent的action屬性
6.1.2 Intent的data屬性
6.1.3 Intent的type屬性
6.1.4 Intent的category屬性
6.1.5 Intent的extras屬性
6.1.6 Intent的ComponentName屬性
6.2 系統(tǒng)標準ActivityAction應(yīng)用
6.2.1 啟動Activity
6.2.2 獲取Activity返回值
6.3 Intent過濾器
6.3.1 注冊Intent過濾器
6.3.2 Intent解析
6.4 廣播消息
6.5 本章小結(jié)
第7章 數(shù)據(jù)存儲與訪問
7.1 簡單存儲
7.1.1 SharedPreferences
7.1.2 示例
7.2 文件存儲
7.2.1 內(nèi)部存儲
7.2.2 外部存儲
7.2.3 資源文件
7.3 數(shù)據(jù)庫存儲
7.3.1 SQLite簡介
7.3.2 手動建立數(shù)據(jù)庫
7.3.3 代碼建庫(SQLiteOpenHelper)
7.3.4 數(shù)據(jù)操作(SQLiteDatabase)
7.4 數(shù)據(jù)共享(ContentProviders)
7.4.1 創(chuàng)建ContentProvider
7.4.2 使用數(shù)據(jù)提供者
7.5 本章小結(jié)
第8章 多媒體開發(fā)
8.1 Android系統(tǒng)提供內(nèi)置的媒體格式
8.2 在窗體布局上——VideoView
8.3 音頻及視頻播放——MediaPlayer
8.2.1 從源文件中播放
8.3.2 從文件系統(tǒng)中播放
8.3.3 從網(wǎng)絡(luò)中播放
8.3.4 音頻播放示例
8.3.5 視頻播放示例
8.4 音/視頻的錄制
8.5 Camera照相
8.6 本章小結(jié)
第9章 定位與地圖
9.1 位置服務(wù)
9.1.1 Android Location API
9.1.2 GPS定位步驟
9.2 Google地圖應(yīng)用
9.2.1 申請地圖密鑰
9.2.2 使用Google地圖
9.2.3 使用Overlay
9.3 本章小結(jié)
第10章 Android中的圖形圖像
10.1 在Android中訪問圖片
10.1.1 使用圖片文件創(chuàng)建Drawable對象
10.1.2 使用XML文件定義Drawable屬性
10.1.3 Bitmap和BitmapFactory
10.2 Android中的動畫
10.2.1 Tween動畫
10.2.2 Frame動畫
10.3 動態(tài)圖形繪制
10.3.1 動態(tài)圖形繪制類簡介
10.3.2 動態(tài)圖形繪制的基本思路
10.3.3 繪制幾何圖形
10.4 圖形特效
10.4.1 使用Matrix實現(xiàn)旋轉(zhuǎn)、縮放和平移
10.4.2 使用Shader類渲染圖形
10.5 本章小結(jié)
第11章 Android NDK開發(fā)
11.1 Android NDK簡介
11.2 NDK編譯環(huán)境
11.3 NDK開發(fā)示例
11.4 本章小結(jié)
第12章 Android特色開發(fā)
12.1 App Widget
12.1.1 App Widget的生命周期
12.1.2 建立Android App Widget
12.2 傳感器
12.2.1 Android中的傳感器分類
12.2.2 Android中的傳感器功能
12.3 本章小結(jié)
第13章 Android網(wǎng)絡(luò)編程
13.1 Android網(wǎng)絡(luò)通信基礎(chǔ)
13.1.1 標準Java接口
13.1.2 Apache接口
13.1.3 Android網(wǎng)絡(luò)接口
13.2 HTTP通信
13.2.1 HttpURLConnection接口
13.2.2 HttpClient接口
13.3 Socket通信
13.3.1 Socket傳輸模式
13.3.2 Socket編程原理
13.3.3 Socket編程實例
13.3.4 Socket與HTTP通信的區(qū)別
13.4 本章小結(jié)
第14章 Android應(yīng)用開發(fā)流程
14.1 應(yīng)用規(guī)劃及架構(gòu)設(shè)計
14.1.1 客戶端功能點概述
14.1.2 服務(wù)器端功能點概述
14.2 實現(xiàn)UI
14.3 數(shù)據(jù)操作和存儲
14.4 實現(xiàn)多頁面跳轉(zhuǎn)
14.5 實現(xiàn)各個模塊邏輯處理
14.5.1 登錄注冊模塊的實現(xiàn)
14.5.2 個人中心模塊的實現(xiàn)
下篇 Android應(yīng)用程序UI設(shè)計
附錄A 知識點測評答案
章節(jié)摘錄
版權(quán)頁: 插圖: 7.3數(shù)據(jù)庫存儲 在Android平臺上,集成了一個嵌入式關(guān)系型數(shù)據(jù)庫-SQLite。SQLite3支持NULL、INTEGER、REAL(浮點數(shù)字)、TEXT(字符串文本)和BLOB(二進制對象)數(shù)據(jù)類型,雖然它支持的類型只有5種,但實際上它也接受varchar(n)、char(n)、decimal(p,s)等數(shù)據(jù)類型,只不過在運算或保存時會轉(zhuǎn)換成對應(yīng)的5種數(shù)據(jù)類型。 7.3.1 SQLIte簡介 SQLite是Android所帶的一個標準的數(shù)據(jù)庫,它是在2000年由D.Richard Hipp發(fā)布的支持SQL語句的輕量級的嵌入式數(shù)據(jù)庫。SQLite數(shù)據(jù)庫特點:更加適用于嵌入式系統(tǒng),嵌入使用它的應(yīng)用程序中;占用內(nèi)存非常少,運行高效可靠,可移植性好;提供了零配置(zero—configuration)運行模式。SQLite數(shù)據(jù)庫不僅提高了運行效率,而且屏蔽了數(shù)據(jù)庫使用和管理的復(fù)雜性,程序僅需要進行最基本的數(shù)據(jù)操作,其他操作可以交給程序內(nèi)部的數(shù)據(jù)庫引擎完成。 SQLite數(shù)據(jù)庫具有很強的移植性,可以運行在Windows、Linux、BSD、Mac OS X和一些商用UNIX系統(tǒng),比如,Oracle的Solaris、IBM的AIX等;SQLite數(shù)據(jù)庫也可以工作在許多嵌入式操作系統(tǒng)下,例如,QNX、VxWorks、Android、Symbian和WindowsPhone等。 SQLite的核心大約有3萬行標準C語言代碼,并且其源代碼開放,代碼中95%有較好的注釋,加上其模塊化的設(shè)計使這些代碼更加易于理解。 SQLite數(shù)據(jù)庫的模塊化設(shè)計,由8個獨立的模塊構(gòu)成,這些獨立模塊又構(gòu)成了三個主要的子系統(tǒng):編譯器、核心模塊及后端,模塊將復(fù)雜的查詢過程分解為細小的工作進行處理。 接口由SQLite C API組成,該API簡單易用,無論是應(yīng)用程序、腳本,還是庫文件,最終都是通過接口與SQLite交互。 由圖可以看出,編譯器由分詞器、分析器和代碼生成器組成。分詞器和分析器對SQL語句進行語法檢查分析后,將SQL語句轉(zhuǎn)化為對于底層來說能夠更方便處理的分層的數(shù)據(jù)結(jié)構(gòu),這種分層的數(shù)據(jù)結(jié)構(gòu)稱為“語法樹”,生成的語法樹傳遞給代碼生成器,由代碼生成器進行處理,生成一種針對SQLite的匯編代碼,該部分代碼最后交與虛擬機執(zhí)行。 SQLite數(shù)據(jù)庫體系結(jié)構(gòu)中最核心的部分便是虛擬機,也稱為虛擬數(shù)據(jù)庫引擎(VirtualDatabase Engine,VDBE)。與Java虛擬機相似,虛擬機用來解釋執(zhí)行字節(jié)代碼。虛擬機的字節(jié)代碼由128個操作碼構(gòu)成,這些操作碼主要用于操作數(shù)據(jù)庫,每一條指令都可以完成特定的數(shù)據(jù)庫操作,或以特定的方式處理棧的內(nèi)容。 后端由B—樹、頁緩存和操作系統(tǒng)接口構(gòu)成。B—樹的主要功能就是索引,它維護著各個頁面之間的復(fù)雜關(guān)系,便于快速找到所需數(shù)據(jù);頁緩存主要就是通過操作系統(tǒng)接口在B—樹和磁盤之間傳遞頁面;B—樹和頁緩存共同對數(shù)據(jù)進行管理。
編輯推薦
《高等院校3G人才培養(yǎng)規(guī)劃教材:Android應(yīng)用程序開發(fā)與典型案例》是大學(xué)院校嵌入式技術(shù)專業(yè)、電子信息類其他專業(yè)的專業(yè)課程教材,也可供高等及中等職業(yè)技術(shù)院校使用。
圖書封面
評論、評分、閱讀與下載
Android應(yīng)用程序開發(fā)與典型案例 PDF格式下載