资深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应用:Android开发必知的50个诀窍 [50 Android Hacks]》,我才发现,原来那些困扰我许久的难题,都有着如此简单却又深刻的解决之道。书中的“诀窍”涵盖了从基础的UI布局到复杂的网络请求,再到用户体验的方方面面,几乎是我在日常开发中会遇到的所有痛点都得到了涵盖。我印象特别深刻的是关于“响应式设计”和“无障碍访问”的讨论。以前我总觉得这些是锦上添花的事情,而这本书让我认识到,它们实际上是高质量应用不可或缺的一部分,关系到应用的普适性和用户满意度。那些关于如何处理不同屏幕尺寸、如何为特殊用户群体提供良好体验的“诀窍”,让我对“高质量”有了更全面的理解。这本书不仅仅是一本技术手册,更像是一位经验丰富的导师,用最真诚的方式,将自己的宝贵经验倾囊相授。我现在感觉自己的开发视野更加开阔了,也更有信心去打造出真正能够打动用户的优秀应用了。
评分我必须说,这本书彻底改变了我对Android开发的认知!一直以来,我总觉得打造一个“高质量”的Android应用是一个遥不可及的目标,就像是童话故事里的“水晶鞋”,可遇不可求。直到我翻开《打造高质量Android应用:Android开发必知的50个诀窍 [50 Android Hacks]》,我才意识到,原来那些看似高深莫测的“高质量”背后,藏着如此多切实可行、逻辑清晰的“诀窍”。书中提到的那些关于代码可维护性、可测试性、以及应对各种边界情况的建议,真是说到了我的心坎里。我之前写代码,常常会遇到“牵一发而动全身”的情况,一个小小的改动就能引发一连串的bug,让人抓狂。这本书里的“诀窍”则提供了一套系统性的方法论,让我学会如何构建一个更健壮、更易于扩展的代码体系。尤其是关于架构设计的讨论,让我对MVP、MVVM等模式有了更深入的理解,并且明白了如何在实际开发中灵活运用它们,而不是死搬硬套。更让我惊喜的是,书中还涉及到了很多“被忽视”的细节,比如用户体验的微小改进,甚至是一些关于代码风格和团队协作的建议,这些虽然听起来不起眼,但正是这些点点滴滴的积累,才能最终成就一款真正优秀的应用。现在,我感觉自己不再是那个只会“码字”的程序员,而是一个懂得“精雕细琢”的匠人。
评分作为一名有几年Android开发经验的开发者,我自认为在技术上已经积累了不少东西,但读完《打造高质量Android应用:Android开发必知的50个诀窍 [50 Android Hacks]》后,我才意识到自己之前的想法有多么狭隘。这本书就像是一本“武林秘籍”,将我一直以来模糊不清、零散的开发经验,用一种高度提炼、系统化的方式呈现出来。书中对Android生命周期、异步处理、数据存储等核心概念的讲解,不是简单地罗列API,而是深入剖析了其背后的原理和最佳实践,让我对这些概念有了前所未有的清晰认识。我尤其欣赏书中关于“如何预防”和“如何优雅地处理”错误的思想。以前遇到问题,我总是习惯于“救火”,等到问题发生了再想办法解决。而这本书则教我如何从源头上避免这些问题,如何在设计之初就考虑到潜在的风险,从而大大减少了后期维护的成本。那些关于异常捕获、错误日志记录、以及用户反馈收集的“诀窍”,简直就是生产力提升的利器。我现在回想起过去的项目,真是后悔没有早点看到这本书,否则可以少走多少弯路,避免多少不必要的麻烦!这本书绝对是每个认真对待Android开发的程序员都应该拥有的“宝典”。
评分这本书我真的太爱了!作为一名沉浸在Android开发大军中的一员,我常常感觉自己像是大海中的一叶孤舟,面对着浩瀚的技术海洋,时常感到迷茫和力不从心。市面上关于Android的书籍不少,但很多要么过于浅显,要么就钻研到某个细分领域,让我觉得很难找到一本真正能“点拨迷津”的。直到我遇到了《打造高质量Android应用:Android开发必知的50个诀窍 [50 Android Hacks]》,我才找到了那束照亮我前行道路的光。书中的每个“诀窍”都像是一位经验丰富的老师傅,毫不保留地传授着自己的独门秘籍。我印象最深刻的是关于性能优化的部分,以前我总是凭感觉写代码,虽然能跑,但总觉得不够流畅,用户反馈也不尽如人意。这本书里的诀窍,让我从根本上理解了Android应用的性能瓶颈究竟出在哪里,以及如何通过巧妙的设计和编码来规避这些问题。那些关于内存管理、UI渲染、线程调度的讲解,简直就是我的“救命稻草”,让我在优化过程中少走了多少弯路!而且,这本书的语言风格也非常平实易懂,没有那种高高在上的学术腔调,感觉就像是和一位老朋友在聊技术,轻松中带着深刻,让人茅塞顿开。我已经迫不及待地想把书中学到的诀窍应用到我的实际项目中,期待它们能带来质的飞跃!
评分我最近真的因为《打造高质量Android应用:Android开发必知的50个诀窍 [50 Android Hacks]》这本书而感到无比兴奋!作为一名仍然在不断学习和进步中的Android开发者,我总是渴望找到那些能够帮助我突破瓶颈、提升效率的书籍。这本书简直就是为我量身定做的!它没有用晦涩难懂的语言,而是用一种非常接地气的方式,将复杂的Android开发问题一一拆解,并且给出了切实可行的解决方案。书中的每个“诀窍”都充满了智慧的火花,让我能从不同的角度审视我的代码和开发流程。我特别喜欢书中关于“代码简洁性”和“设计模式的实际运用”的章节。以前我总是追求功能的实现,而忽略了代码的可读性和可维护性。这本书让我明白,一个高质量的应用,不仅仅是功能强大,更应该是结构清晰、易于理解和修改的。那些关于如何编写更易于测试的代码、如何有效地进行代码重构的“诀窍”,简直就是“救星”一般的存在。我现在感觉自己的代码质量有了质的飞跃,不仅自己写起来更顺手,而且团队协作起来也更加高效。这本书带来的不仅仅是知识,更是一种开发理念的升华。
评分书比较薄 但是比较使用
评分觉得有点小贵,没有图书优惠!
评分这本书看着挺不错的,建议大家看一下。
评分书不错,就是有些内容稍微过时了
评分很好,提出了开发中的很多经常发生的问题。
评分很有用的,挺好的买来读一下
评分物流很快,服务很好,送货到家
评分物流超快,很喜欢这书。
评分价格非常好,做活动买的啊,就是书薄了点
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有