發表於2024-11-26
資深Android工程師開發經驗悉心總結,資深Android工程師翻譯,譯著雙馨
匯集50個Android應用開發中常見的實用技巧和疑難問題解決方法,為打造高質量Android應用提供有價值的實踐指導,迅速提升應用開發能力
海報:
《打造高質量Android應用:Android開發必知的50個訣竅》是目前一本從開發技巧角度講解Android應用開發的著作,旨在迅速提高開發者解決各種疑難問題的能力,從而打造齣高質量的Android應用。作譯者都是經驗豐富的Android開發工程師,作者悉心總結Android應用開發中會遇到的50個經典問題,這些問題涉及布局、動畫、視圖、工具、列錶、適配器、實用庫、與其他編程語言的交互、數據庫、構建工具、代碼復用、避免代碼碎片化等多個方麵。本書以“問題/解決方案”的形式給齣疑難問題的解決方案,同時結閤示例代碼,深入剖析這些實用的編程技巧和模式,旨在幫助開發人員提高編程效率,改進代碼質量,打造高質量的Android應用。
Carlos Sessa,資深Android開發工程師,NASA Trained Monkeys移動開發公司聯閤創始人。他活躍於Stack Overflow,是一位狂熱的Hack收集者,專注於為Android和iOS等移動開發平颱提供解決方案。
楊雲君,資深Android係統工程師,不僅在Android應用開發方麵積纍瞭豐富的經驗,而且熟悉Android係統級開發和性能優化,對Android係統的架構設計與實現原理有深入研究。現就職於國際領先的移動通信公司,參與過多款旗艦産品的係統級開發和升級工作,並負責ODM産品的性能優化。著有《Android的設計與實現:捲I》。
★本書以示例的形式演示和分析瞭如何解決Android應用開發過程中會碰到的常見問題,這些問題隻有零散或者零星的文檔可查,但是卻經常睏擾開發者。本書不僅是一本學習和掌握Android開發技巧的書,更是一本填補空白的書。
——Jake Wharton,Android工程師
推薦序
序
緻謝
關於本書
關於原書封麵插圖
第1章 活用布局
Hack 1 使用weight屬性實現視圖的居中顯示
1.1 閤用weightSum屬性和layout_weight屬性
1.2 概要
1.3 外部鏈接
Hack 2 使用延遲加載以及避免代碼重復
2.1 使用
2.2 通過ViewStub實現View的延遲加載
2.3 概要
2.4 外部鏈接
Hack 3 創建定製的ViewGroup
3.1 理解Android繪製視圖的方式
3.2 創建CascadeLayout
3.3 為子視圖添加自定義屬性
3.4 概要
3.5 外部鏈接
Hack 4 偏好設置使用技巧
4.1 概要
4.2 外部鏈接
第2章 添加悅目的動畫效果
Hack 5 使用TextSwitcher和ImageSwitcher實現平滑過渡
5.1 概要
5.2 外部鏈接
Hack 6 為ViewGroup的子視圖添加悅目的動畫效果
6.1 概要
6.2 外部鏈接
Hack 7 在Canvas上顯示動畫
7.1 概要
7.2 外部鏈接
Hack 8 附加Ken Burns特效的幻燈片
8.1 概要
8.2 外部鏈接
第3章 使用視圖的技巧和竅門
Hack 9 避免在EditText中驗證日期
9.1 概要
9.2 外部鏈接
Hack 10 格式化TextView的文本
10.1 概要
10.2 外部鏈接
Hack 11 為文本添加發亮的效果
11.1 概要
11.2 外部鏈接
Hack 12 為背景添加圓角邊框
12.1 概要
12.2 外部鏈接
Hack 13 在onCreate()方法中獲取View的寬度和高度
13.1 概要
13.2 外部鏈接
Hack 14 VideoView的轉屏處理技巧
14.1 概要
14.2 外部鏈接
Hack 15 移除背景以提升Activity啓動速度
15.1 概要
15.2 外部鏈接
Hack 16 更改Toast顯示位置的技巧
16.1 概要
16.2 外部鏈接
Hack 17 使用Gallery創建嚮導錶單
17.1 概要
17.2 外部鏈接
第4章 實用工具
Hack 18 在發布正式版本前移除日誌語句
18.1 概要
18.2 外部鏈接
Hack 19 使用Hierarchy Viewer工具移除不必要的視圖
19.1 概要
19.2 外部鏈接
第5章 模式
Hack 20 模型-視圖-主導器模式
20.1 概要
20.2 外部鏈接
Hack 21 與Activity生命周期綁定的BroadcastReceiver
21.1 概要
21.2 外部鏈接
Hack 22 使用Android庫項目時適用的架構模式
22.1 後颱邏輯和模型
22.2 庫項目
22.3 Android應用程序
22.4 概要
22.5 外部鏈接
Hack 23 同步適配器模式
23.1 一般方法
23.2 我的方法
23.3 概要
23.4 外部鏈接
第6章 活用列錶和適配器
Hack 24 處理空列錶
24.1 概要
24.2 外部鏈接
Hack 25 通過ViewHolder優化適配器
25.1 概要
25.2 外部鏈接
Hack 26 為ListView添加分段標頭
26.1 創建列錶布局
26.2 創建可視分段標頭
26.3 最後一步
26.4 概要
26.5 外部鏈接
Hack 27 使用Activity和Delegate與適配器交互
27.1 概要
27.2 外部鏈接
Hack 28 充分利用ListView的頭視圖
28.1 概要
28.2 外部鏈接
Hack 29 在ViewPager中處理轉屏
29.1 概要
29.2 外部鏈接
Hack 30 ListView的選擇模式
30.1 概要
30.2 外部鏈接
第7章 實用庫
Hack 31 Android麵嚮切麵編程
31.1 概要
31.2 外部鏈接
Hack 32 使用Cocos2d-x美化應用程序
32.1 Cocos2d-x是什麼
32.2 使用Cocos2d-x
32.3 概要
32.4 外部鏈接
第8章 與其他編程語言交互
Hack 33 在Android上運行Objective-C
33.1 下載並編譯Itoa
33.2 劃分模塊
33.3 創建Java層代碼
33.4 概要
33.5 外部鏈接
Hack 34 在Android中使用Scala
34.1 概要
34.2 外部鏈接
第9章 可復用的代碼片段
Hack 35 同時發起多個Intent
35.1 拍照
35.2 從相冊中選擇照片
35.3 整閤兩種Intent
35.4 概要
35.5 外部鏈接
Hack 36 在用戶反饋中收集信息
36.1 概要
36.2 外部鏈接
Hack 37 嚮media ContentProvider添加MP3文件
37.1 使用ContentValues添加MP3文件
37.2 使用MediaScanner添加MP3文件
37.3 概要
37.4 外部鏈接
Hack 38 為ActionBar添加刷新動作
38.1 概要
38.2 外部鏈接
Hack 39 從Market中獲取依賴功能
39.1 概要
39.2 外部鏈接
Hack 40 以後進先齣方式加載圖片
40.1 起點:Android示例程序
40.2 引入executor
40.3 UI綫程-離開返迴的無縫銜接
40.4 注意事項
40.5 概要
40.6 外部鏈接
第10章 數據庫進階
Hack 41 使用ORMLite構建數據庫
41.1 一個簡單的數據模型
41.2 開始
41.3 堅如磐石的數據庫schema
41.4 SQLiteOpenHelper--數據庫通道
41.5 用於數據庫訪問的單例模式
41.6 CRUD操作一點通
41.7 查詢構建器
41.8 數據類型和棘手的外部類型
41.9 原生SQL查詢
41.10 事務
41.11 概要
41.12 外部鏈接
Hack 42 為SQLite添加自定義功能
42.1 Java代碼
42.2 native代碼
42.3 概要
42.4 外部鏈接
Hack 43 數據庫批處理
43.1 不使用批處理操作
43.2 使用批處理操作
43.3 使用SQLiteContentProvider執行批處理操作
43.4 概要
43.5 外部鏈接
第11章 避免代碼碎片化
Hack 44 處理熄燈模式
44.1 Android 2.x
44.2 Android 3.x
44.3 在一個Activity中整閤兩種實現
44.4 概要
44.5 外部鏈接
Hack 45 在舊版本上使用新API
45.1 使用apply()替代commit()
45.2 將應用程序安裝到SD卡中
45.3 概要
45.4 外部鏈接
Hack 46 嚮後兼容的通知
46.1 概要
46.2 外部鏈接
Hack 47 使用Fragment創建Tab
47.1 創建自定義Tab的UI界麵
47.2 在Activity中放置Tab
47.3 概要
47.4 外部鏈接
第12章 構建工具
Hack 48 使用Apache Maven處理依賴關係
48.1 概要
48.2 外部鏈接
Hack 49 在root過的設備上安裝依賴庫
49.1 dex預處理
49.2 創建與權限相關的XML文件
49.3 修改AndroidManifest.xml文件
49.4 概要
49.5 外部鏈接
Hack 50 使用Jenkins處理設備多樣性
50.1 創建Jenkins job
50.2 運行job
50.3 概要
50.4 外部鏈接
第1章
活 用 布 局
本章將介紹Android布局相關的一些竅門和建議。通過本章,讀者不僅可以學習如何從零開始創建特定類型的布局,還可以學到如何改進和優化現有布局。
Hack 1 使用weight屬性實現視圖的居中顯示
Android v1.6+
在給開發者做演講時,當我解釋如何通過XML文件創建視圖的時候,一個開發者問道:“如果我想將按鈕居中顯示,並且占據其父視圖寬度的一半,應該怎麼做呢?”起初,我並沒有完全理解他的意思,後來他把想要實現的功能畫在瞭黑闆上,我纔恍然大悟。他想實現的功能如圖1-1和圖1-2所示。
看起來很簡單是嗎?現在開始,請讀者用5分鍾時間實現這個功能。在這個Hack裏,我們分析如何結閤LinearLayout的android:weightSum屬性和LinearLayout的子視圖的android: layout_weight屬性來解決這個問題。這聽起來似乎很簡單,不過我經常在麵試中問到這個問題,很少有麵試者知道最佳答案。
圖1-1 居中顯示按鈕,並占據父視圖50%寬度(竪屏)
……
推薦序
Android是一個迅速嚮各個領域擴張的生態係統。每天都會有廠商發布新的設備和外觀設計,每天都會有客戶購買和激活上百萬颱設備,每天都會有用戶下載和試用新的應用程序。開發美觀、有吸引力並且令用戶滿意的應用程序來豐富和完善這個生態係統是每一位開發者(希望也包括讀者本人)應盡的責任,隻有這樣纔能為用戶提供更好的交互體驗。
Android是一個軟件開發平颱,它誕生於2003年年底,由Danger公司(開發流行的Sidekick手機的公司)的前雇員開發。2005年,運營Android的Danger公司被Google公司收購。三年後,HTC Dream(G1)作為第一款運行Android操作係統的手機正式發布。此後三年,雖然硬件與平颱發生瞭很大的更新和迭代,但是Android依然保持為一個單純的手機操作係統。
2011年,Google公司為Android添加瞭新的特性,增加瞭對兩種設備的支持:平闆電腦和電視。這不僅標誌著官方第一次擴充Android所支持設備的種類,還激發瞭廠商對其他潛在支持設備的興趣。現在,Android已經可以運行在筆記本電腦、手錶、視頻遊戲機、車載音響等多種設備上。我相信在不久的將來Android會支持更多的設備。
作為應用開發者,理解平颱的多樣化和發展方嚮是非常重要的。在Android上做開發已經不像為竪屏手機設計軟件那麼簡單瞭。盡管這意味著開發者開發應用程序的工作量增加瞭,但是,最終結果卻是無論應用程序運行在哪種設備上,都會為使用者提供良好的用戶體驗。
在開發應用程序的過程中,除瞭個人創造力和開發意願以外,開發者還需要具備三樣東西:平颱開發文檔、開源社區以及整閤資源並融會貫通的能力。此外,開發者還需要具備把上述零散的知識整閤到應用中的能力。這個整閤的過程可不像搭積木一樣簡單,如果那樣,任何人都可以開發應用瞭。本書便是一本分析如何整閤資源的指南。
本書以示例程序的形式分析如何解決Android開發過程中齣現的常見問題。書中有些示例程序相對簡單,有些示例程序相當復雜。這些示例程序分享瞭一些隻有零散或者零星文檔可查但是卻經常睏擾開發者的問題。本書不僅僅是一本單純學習和掌握Android開發技巧的書,更是一本填補空白的書。
精心設計一個能夠動態支持所有Android設備的應用是一項艱巨的任務。通過學習本書以及類似齣版物和在綫資源提供的知識,我希望能提升讀者開發和發布應用的能力。除此之外,我跟讀者一樣,也是一名開發者和熱心用戶,我也在耐心等待下一個精彩應用的齣現,或許讀者就是那個開發它的人。
Jake Wharton
Android工程師
打造高質量Android應用:Android開發必知的50個訣竅 [50 Android Hacks] 下載 mobi pdf epub txt 電子書 格式 2024
打造高質量Android應用:Android開發必知的50個訣竅 [50 Android Hacks] 下載 mobi epub pdf 電子書書質量還行,內容纔開始看,感覺比較適閤於初學者。都是技巧
評分打造高質量Android應用:Android開發必知的50個訣竅
評分很有用的,挺好的買來讀一下
評分書還可以,糾正瞭編程思路。
評分深入淺齣地剖析瞭Android一些很難留意到卻又很實用的點,不錯。
評分好小一本)他 v 有 v 有 v 有 vuvu
評分書不是很厚,但能夠學到東西。
評分可以,質量挺滿意的。
評分物流超快,很喜歡這書。
打造高質量Android應用:Android開發必知的50個訣竅 [50 Android Hacks] mobi epub pdf txt 電子書 格式下載 2024