出版時(shí)間:2013-1 出版社:海洋出版社 作者:DevDiv移動(dòng)開(kāi)發(fā)社區(qū) 頁(yè)數(shù):296 字?jǐn)?shù):510000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
Android是移動(dòng)開(kāi)發(fā)三大平臺(tái)之一。本書(shū)是DevDiv移動(dòng)開(kāi)發(fā)社區(qū)版主、資深會(huì)員在該平臺(tái)實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)的總結(jié),通過(guò)大量原創(chuàng)示例全面介紹了Android應(yīng)用開(kāi)發(fā)的方法和技巧。全書(shū)共17章,包括Android系統(tǒng)框架與初始化流程、Activity簡(jiǎn)介、常用UI界面以及實(shí)現(xiàn)、ListView使用詳解、定制控件、Drawable分類(lèi)匯總、圖像操作技巧、布局優(yōu)化、消息模型、網(wǎng)絡(luò)通信、桌面組件AppWidget、系統(tǒng)服務(wù)、多媒體開(kāi)發(fā)、圖片異步加載及緩沖、移動(dòng)廣告平臺(tái)、代碼優(yōu)化技術(shù)和加解密等內(nèi)容。可作為Android初中級(jí)開(kāi)發(fā)者參考用書(shū),也可作為高等院校及社會(huì)培訓(xùn)機(jī)構(gòu)教材,還可作為自學(xué)人員學(xué)習(xí)用書(shū)。
作者簡(jiǎn)介
DevDiv覆蓋移動(dòng)開(kāi)發(fā)主流平臺(tái)Android、iOS、Windows Phone、Windows
8、HTML5和Symbian等,集資訊、論壇、博客、獵頭服務(wù)、技術(shù)培訓(xùn)于一體,著有《移動(dòng)開(kāi)發(fā)全平臺(tái)解決方案——Android/iOS/Windows
Phone》、《Windows
Phone開(kāi)發(fā)實(shí)戰(zhàn)體驗(yàn)(應(yīng)用+游戲)》和《iOS開(kāi)發(fā)實(shí)戰(zhàn)體驗(yàn)》,DevDiv已成長(zhǎng)為國(guó)內(nèi)最具人氣的綜合性移動(dòng)開(kāi)發(fā)社區(qū)。
書(shū)籍目錄
第1章 Android系統(tǒng)架構(gòu)與初始化流程
1.1 Android發(fā)展歷史回顧
1.2 系統(tǒng)架構(gòu)
1.3 初始化流程
1.4 權(quán)限安全機(jī)制
第2章 Activity簡(jiǎn)介
2.1 Activity的架構(gòu)設(shè)計(jì)
2.2 Activity的生命周期
2.3 旋轉(zhuǎn)屏幕重新加載Activity
第3章 常用UI界面以及實(shí)現(xiàn)
3.1 緩沖界面
3.2 宮格界面
3.3 Tab界面
3.4 二級(jí)列表
3.5 抽屜效果
3.6 左右滑動(dòng)效果
3.6.1 系統(tǒng)提供ViewFlipper
3.6.2 自定義ViewFlow
3.7 Gallery
3.8 懸浮框
第4章 ListView使用詳解
4.1 ListView與Adapter的關(guān)系
4.2 ListView綁定EmptyView
4.3 自定義Adapter
4.4 ListView的使用技巧
第5章 定制控件
5.1 擴(kuò)展系統(tǒng)控件
5.2 自繪控件
5.3 觸屏事件處理
5.4 擴(kuò)展ViewGroup類(lèi)
5.5 定義控件屬性
5.6 定制控件的style和theme
第6章 Drawable分類(lèi)匯總
6.1 ColorDrawable
6.2 GradientDrawable
6.3 BitmapDrawable6
6.4 NinePatchDrawable
6.5 InsetDrawable
6.6 ClipDrawable
6.7 ScaleDrawable
6.8 RotateDrawable
6.9 AnimationDrawable
6.10 LayerDrawable
6.11 LevelListDrawable
6.12 StateListDrawable
6.13 TransitionDrawable
第7章 圖像操作技巧
7.1 位圖資源
7.1.1 加載位圖資源
7.1.2 創(chuàng)建位圖資源
7.1.3 保存位圖資源
7.2 常用的位圖操作
7.2.1 View轉(zhuǎn)換為Bitmap
7.2.2 圖片圓角處理
7.2.3 圖片灰化處理
7.2.4 提取圖像Alpha位圖
7.2.5 圖像變換
7.3 內(nèi)存溢出(OOM)問(wèn)題
第8章 布局優(yōu)化
8.1 復(fù)用布局文件
8.2 布局的層次結(jié)構(gòu)
8.2.1 Hierachy Viewer
8.2.2 創(chuàng)建高效的布局
8.2.3 合并布局
8.2.4 提高控件查找效率
8.3 布局文件延遲加載
第9章 消息模型
9.1 UI線程
9.2 消息系統(tǒng)與消息模型
9.2.1 消息系統(tǒng)構(gòu)成要素和基本原理
9.2.2 消息模型基本原理
9.2.3 消息模型使用方法
9.2.4 Handler常見(jiàn)用法
第10章 網(wǎng)絡(luò)通信
10.1 使用HttpURLConnection發(fā)送Post/Get請(qǐng)求
10.2 設(shè)置Proxy訪問(wèn)網(wǎng)絡(luò)
10.3 實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳
10.3.1 設(shè)計(jì)下載任務(wù)進(jìn)度類(lèi)DownloadBean
10.3.2 創(chuàng)建下載線程并可隨時(shí)中斷線程
10.3.3 設(shè)置網(wǎng)絡(luò)鏈接讀取資源的有效范圍
10.3.4 使用RandomAccessFile隨機(jī)讀寫(xiě)文件
第11章 桌面組件AppWidget
11.1 AppWidget框架結(jié)構(gòu)
11.1.1 AppWidget框架類(lèi)
11.1.2 AppWidget框架相關(guān)類(lèi)
11.2 AppWidget開(kāi)發(fā)
11.2.1 AppWidgetProvider類(lèi)的使用
11.2.2 AppWidget開(kāi)發(fā)實(shí)例
11.2.3 實(shí)例改進(jìn)
第12章 系統(tǒng)服務(wù)
12.1 系統(tǒng)服務(wù)簡(jiǎn)介
12.2 系統(tǒng)服務(wù)開(kāi)發(fā)
12.2.1 電源服務(wù)開(kāi)發(fā)
12.2.2 窗口管理服務(wù)開(kāi)發(fā)
12.2.3 Layout擴(kuò)展服務(wù)開(kāi)發(fā)
12.2.4 Activity服務(wù)開(kāi)發(fā)
12.2.5 Notification服務(wù)開(kāi)發(fā)
12.2.6 鬧鐘服務(wù)開(kāi)發(fā)
12.2.7 KeyGuard服務(wù)開(kāi)發(fā)
12.2.8 位置服務(wù)開(kāi)發(fā)
12.2.9 Vibrator服務(wù)開(kāi)發(fā)
第13章 多媒體開(kāi)發(fā)
13.1 Android多媒體系統(tǒng)簡(jiǎn)介
13.1.1 系統(tǒng)架構(gòu)
13.1.2 系統(tǒng)功能
13.1.3 OpenCore簡(jiǎn)介
13.1.4 OpenMAX簡(jiǎn)介
13.2 MediaPlayer的使用
13.2.1 初始化和準(zhǔn)備播放
13.2.2 播放控制
13.2.3 釋放播放資源
13.2.4 視頻播放
13.3 音頻視頻錄制
13.3.1 使用Intent錄制音頻和視頻
13.3.2 使用MediaRecorder錄制音頻和視頻
13.3.3 原始音頻錄制與播放
13.4 Camera使用
13.4.1 運(yùn)用Intent捕獲照片
13.4.2 調(diào)用Camera組件捕獲照片
13.5 SoundPool類(lèi)的使用
13.5.1 SoundPool類(lèi)簡(jiǎn)介與適用場(chǎng)合
13.5.2 使用SoundPool播放聲音
第14章 圖片異步加載及緩存
14.1 異步加載與緩存的重要性
14.2 垃圾回收機(jī)制與引用類(lèi)型
14.2.1 Java的垃圾回收機(jī)制
14.2.2 Java引用類(lèi)型
14.2.3 使用軟引用構(gòu)建緩存
第15章 移動(dòng)廣告平臺(tái)
15.1 移動(dòng)應(yīng)用平臺(tái)發(fā)展現(xiàn)狀
15.2 移動(dòng)廣告平臺(tái)發(fā)展趨勢(shì)
15.3 移動(dòng)廣告平臺(tái)的盈利模式
15.4 選擇廣告平臺(tái)
15.4.1 國(guó)內(nèi)移動(dòng)廣告平臺(tái)簡(jiǎn)介
15.4.2 平臺(tái)選擇參考標(biāo)準(zhǔn)
15.5 嵌入廣告插件
第16章 代碼優(yōu)化技術(shù)
16.1 編譯前的代碼優(yōu)化技術(shù)
16.1.1 盡可能避免創(chuàng)建不必要的對(duì)象
16.1.2 方法調(diào)用代碼優(yōu)化
16.1.3 代碼變量?jī)?yōu)化
16.1.4 代碼過(guò)程優(yōu)化
16.2 內(nèi)存泄漏代碼優(yōu)化及檢測(cè)
16.2.1 內(nèi)存泄漏檢測(cè)工具——Memory Analyser Tool(MAT)
16.2.2 MAT使用示例
16.3 代碼混淆技術(shù)
16.3.1 ProGuard簡(jiǎn)介
16.3.2 ProGuard使用
第17章 加解密
17.1 使用HASH算法(MD5/SHA1)保護(hù)應(yīng)用程序的安全
17.2 使用對(duì)稱(chēng)加密算法(BASE 64)隱藏關(guān)鍵信息
17.3 非對(duì)稱(chēng)加密算法(RSA)的使用
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 3)刷新ListView的數(shù)據(jù) Adapter處于ListView和數(shù)據(jù)的中間,當(dāng)有數(shù)據(jù)變化時(shí)需要Adapter通知ListView刷新顯示的內(nèi)容。Adapter提供了notifyDataSetChanged()和notifyDataSetInvalidated()兩"個(gè)方法通知ListView刷新。由于Android的UIThread不是線程安全的,所以對(duì)于Ul的所有操作都必須在UI線程中執(zhí)行。一般情況下是在非UI線程中更新Adapter使用的數(shù)據(jù),然后在UI線程中調(diào)用notifyDataSetChanged通知ListView刷新。當(dāng)有數(shù)據(jù)更新時(shí)調(diào)用notifyDataSetChanged方法,當(dāng)數(shù)據(jù)完全無(wú)效時(shí)調(diào)用notifyDataSetInvalidated方法。 4)Header和Footer ListView除了可以顯示Item,還可以顯示Header和Footer。它提供了addHeaderView和addFooterView方法添加Header和Footer,具體如下。 O public void addHeaderView(View v,Object data,boolean isSelectable) O public void addFooterView(View v,Object data,boolean isSelectable) 其中,參數(shù)View v作為L(zhǎng)istView的footer或者h(yuǎn)eader;Object data用來(lái)設(shè)置附加數(shù)據(jù),可以通過(guò)Adapter的getItem方法獲?。籦oolean isSelectable用來(lái)判斷footer或者h(yuǎn)eader是否可選。提示 在給ListView設(shè)置Adapter之前,需要調(diào)用這兩個(gè)方法添加header或者footer,否則會(huì)出現(xiàn)異常。 當(dāng)為L(zhǎng)istView添加了Header或者Footer時(shí),ListView會(huì)重新創(chuàng)建一個(gè)HeaderViewListAdapter來(lái)包裝之前的Adapter。 5)使用selector美化ListView 通過(guò)設(shè)置ListView的listSelector屬性,可以為L(zhǎng)istview的Item設(shè)置選中、單擊等顯示效果。在Android中可以使用ListView的setSelector方法或者在xml文件中通過(guò)android:listSelector屬性來(lái)設(shè)置ListView的selector屬性。還可以設(shè)置ListView的android:drawSelectorOnTop屬性,把selector繪制在Item背景之后,顯示效果如圖4—11所示。 6)分割線 通過(guò)ListView的android:divider屬性或者setDivider方法可以修改Item之間的分割線。也可以為android:divider屬性設(shè)置圖片、顏色,或者設(shè)置為@drawable/@null(表示無(wú)分割線)。在使用android:divider屬性時(shí),還可以使用dividerHeight屬性設(shè)置分割線占據(jù)的高度。下面是一段使用android:divider屬性的xml代碼片段,將顏色作為分割線,顯示效果如圖4—12所示。 7)使用transcriptMode和stackFromBottom屬性 ListView有兩個(gè)比較特殊的屬性:android:transcriptMode和android:stackFromBottom。使用transcriptMode屬性可以在有數(shù)據(jù)變化的時(shí)候讓ListView自動(dòng)滾動(dòng)到底部。它有以下3個(gè)可選項(xiàng)。 disabled——禁用transcriptMode屬性。 normal——如果最后一個(gè)Item可見(jiàn),滾動(dòng)到底部。 alwaysScroll——總是自動(dòng)滾動(dòng)到底部。 ListView顯示Item的時(shí)候通常是按從上到下的順序排列,使用stackFromBottom屬性可以設(shè)置Item從底部向上排列。通常在聊天、短信類(lèi)型的應(yīng)用中使用stackFromBottom和transcriptMode屬性可以得到很好的顯示效果,如圖4—13所示。
編輯推薦
《移動(dòng)開(kāi)發(fā)技術(shù)叢書(shū):Android開(kāi)發(fā)實(shí)戰(zhàn)體驗(yàn)》編輯推薦:DevDiv移動(dòng)開(kāi)發(fā)社區(qū)版主、資深會(huì)員聯(lián)合編寫(xiě),章節(jié)設(shè)置全面涵蓋Android應(yīng)用開(kāi)發(fā)技術(shù)要點(diǎn),原創(chuàng)案例細(xì)致呈現(xiàn)作者實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
Android開(kāi)發(fā)實(shí)戰(zhàn)體驗(yàn) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版