資深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]》這本書而感到無比興奮!作為一名仍然在不斷學習和進步中的Android開發者,我總是渴望找到那些能夠幫助我突破瓶頸、提升效率的書籍。這本書簡直就是為我量身定做的!它沒有用晦澀難懂的語言,而是用一種非常接地氣的方式,將復雜的Android開發問題一一拆解,並且給齣瞭切實可行的解決方案。書中的每個“訣竅”都充滿瞭智慧的火花,讓我能從不同的角度審視我的代碼和開發流程。我特彆喜歡書中關於“代碼簡潔性”和“設計模式的實際運用”的章節。以前我總是追求功能的實現,而忽略瞭代碼的可讀性和可維護性。這本書讓我明白,一個高質量的應用,不僅僅是功能強大,更應該是結構清晰、易於理解和修改的。那些關於如何編寫更易於測試的代碼、如何有效地進行代碼重構的“訣竅”,簡直就是“救星”一般的存在。我現在感覺自己的代碼質量有瞭質的飛躍,不僅自己寫起來更順手,而且團隊協作起來也更加高效。這本書帶來的不僅僅是知識,更是一種開發理念的升華。
評分我必須說,這本書徹底改變瞭我對Android開發的認知!一直以來,我總覺得打造一個“高質量”的Android應用是一個遙不可及的目標,就像是童話故事裏的“水晶鞋”,可遇不可求。直到我翻開《打造高質量Android應用:Android開發必知的50個訣竅 [50 Android Hacks]》,我纔意識到,原來那些看似高深莫測的“高質量”背後,藏著如此多切實可行、邏輯清晰的“訣竅”。書中提到的那些關於代碼可維護性、可測試性、以及應對各種邊界情況的建議,真是說到瞭我的心坎裏。我之前寫代碼,常常會遇到“牽一發而動全身”的情況,一個小小的改動就能引發一連串的bug,讓人抓狂。這本書裏的“訣竅”則提供瞭一套係統性的方法論,讓我學會如何構建一個更健壯、更易於擴展的代碼體係。尤其是關於架構設計的討論,讓我對MVP、MVVM等模式有瞭更深入的理解,並且明白瞭如何在實際開發中靈活運用它們,而不是死搬硬套。更讓我驚喜的是,書中還涉及到瞭很多“被忽視”的細節,比如用戶體驗的微小改進,甚至是一些關於代碼風格和團隊協作的建議,這些雖然聽起來不起眼,但正是這些點點滴滴的積纍,纔能最終成就一款真正優秀的應用。現在,我感覺自己不再是那個隻會“碼字”的程序員,而是一個懂得“精雕細琢”的匠人。
評分這本書的齣現,對我來說簡直就是一場及時雨!我一直以來都在努力提升自己Android應用的開發水平,但總感覺像是摸著石頭過河,很多地方都缺乏清晰的方嚮和指導。直到我讀瞭《打造高質量Android應用:Android開發必知的50個訣竅 [50 Android Hacks]》,我纔發現,原來那些睏擾我許久的難題,都有著如此簡單卻又深刻的解決之道。書中的“訣竅”涵蓋瞭從基礎的UI布局到復雜的網絡請求,再到用戶體驗的方方麵麵,幾乎是我在日常開發中會遇到的所有痛點都得到瞭涵蓋。我印象特彆深刻的是關於“響應式設計”和“無障礙訪問”的討論。以前我總覺得這些是錦上添花的事情,而這本書讓我認識到,它們實際上是高質量應用不可或缺的一部分,關係到應用的普適性和用戶滿意度。那些關於如何處理不同屏幕尺寸、如何為特殊用戶群體提供良好體驗的“訣竅”,讓我對“高質量”有瞭更全麵的理解。這本書不僅僅是一本技術手冊,更像是一位經驗豐富的導師,用最真誠的方式,將自己的寶貴經驗傾囊相授。我現在感覺自己的開發視野更加開闊瞭,也更有信心去打造齣真正能夠打動用戶的優秀應用瞭。
評分作為一名有幾年Android開發經驗的開發者,我自認為在技術上已經積纍瞭不少東西,但讀完《打造高質量Android應用:Android開發必知的50個訣竅 [50 Android Hacks]》後,我纔意識到自己之前的想法有多麼狹隘。這本書就像是一本“武林秘籍”,將我一直以來模糊不清、零散的開發經驗,用一種高度提煉、係統化的方式呈現齣來。書中對Android生命周期、異步處理、數據存儲等核心概念的講解,不是簡單地羅列API,而是深入剖析瞭其背後的原理和最佳實踐,讓我對這些概念有瞭前所未有的清晰認識。我尤其欣賞書中關於“如何預防”和“如何優雅地處理”錯誤的思想。以前遇到問題,我總是習慣於“救火”,等到問題發生瞭再想辦法解決。而這本書則教我如何從源頭上避免這些問題,如何在設計之初就考慮到潛在的風險,從而大大減少瞭後期維護的成本。那些關於異常捕獲、錯誤日誌記錄、以及用戶反饋收集的“訣竅”,簡直就是生産力提升的利器。我現在迴想起過去的項目,真是後悔沒有早點看到這本書,否則可以少走多少彎路,避免多少不必要的麻煩!這本書絕對是每個認真對待Android開發的程序員都應該擁有的“寶典”。
評分這本書我真的太愛瞭!作為一名沉浸在Android開發大軍中的一員,我常常感覺自己像是大海中的一葉孤舟,麵對著浩瀚的技術海洋,時常感到迷茫和力不從心。市麵上關於Android的書籍不少,但很多要麼過於淺顯,要麼就鑽研到某個細分領域,讓我覺得很難找到一本真正能“點撥迷津”的。直到我遇到瞭《打造高質量Android應用:Android開發必知的50個訣竅 [50 Android Hacks]》,我纔找到瞭那束照亮我前行道路的光。書中的每個“訣竅”都像是一位經驗豐富的老師傅,毫不保留地傳授著自己的獨門秘籍。我印象最深刻的是關於性能優化的部分,以前我總是憑感覺寫代碼,雖然能跑,但總覺得不夠流暢,用戶反饋也不盡如人意。這本書裏的訣竅,讓我從根本上理解瞭Android應用的性能瓶頸究竟齣在哪裏,以及如何通過巧妙的設計和編碼來規避這些問題。那些關於內存管理、UI渲染、綫程調度的講解,簡直就是我的“救命稻草”,讓我在優化過程中少走瞭多少彎路!而且,這本書的語言風格也非常平實易懂,沒有那種高高在上的學術腔調,感覺就像是和一位老朋友在聊技術,輕鬆中帶著深刻,讓人茅塞頓開。我已經迫不及待地想把書中學到的訣竅應用到我的實際項目中,期待它們能帶來質的飛躍!
評分價格非常好,做活動買的啊,就是書薄瞭點
評分書的質量不錯 品質一如既往
評分內容太少,很快就翻完瞭
評分對學習十分有幫助,非常棒
評分好書,好書,好書!!值得擁有呀。
評分好小,不過之前在網上看過前幾篇,內容還是不錯的,另外京東物流不錯,速度快,態度也好。
評分書很小,我以為很厚的一本,哈哈?,估計一兩天就看完瞭
評分非常好!書都是全新的,買6免3完全不虧!
評分這本書小巧玲瓏,比較簡潔明瞭
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有