描述
开 本: 32开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787111461364
汇集50个Android应用开发中常见的实用技巧和疑难问题解决方法,为打造高质量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.14VideoView的转屏处理技巧
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.3Android应用程序
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.30ListView的选择模式
30.1概要
30.2外部链接
第7章实用库
Hack.31Android面向切面编程
31.1概要
31.2外部链接
Hack.32使用Cocos2d-x美化应用程序
32.1Cocos2d-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.3UI线程-离开返回的无缝衔接
40.4注意事项
40.5概要
40.6外部链接
第10章数据库进阶
Hack.41使用ORMLite构建数据库
41.1一个简单的数据模型
41.2开始
41.3坚如磐石的数据库schema
41.4SQLiteOpenHelper–数据库通道
41.5用于数据库访问的单例模式
41.6CRUD操作一点通
41.7查询构建器
41.8数据类型和棘手的外部类型
41.9原生SQL查询
41.10事务
41.11概要
41.12外部链接
Hack.42为SQLite添加自定义功能
42.1Java代码
42.2native代码
42.3概要
42.4外部链接
Hack.43数据库批处理
43.1不使用批处理操作
43.2使用批处理操作
43.3使用SQLiteContentProvider执行批处理操作
43.4概要
43.5外部链接
第11章避免代码碎片化
Hack.44处理熄灯模式
44.1Android.2.x
44.2Android.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.1dex预处理
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外部链接
Android是一个迅速向各个领域扩张的生态系统。每天都会有厂商发布新的设备和外观设计,每天都会有客户购买和激活上百万台设备,每天都会有用户下载和试用新的应用程序。开发美观、有吸引力并且令用户满意的应用程序来丰富和完善这个生态系统是每一位开发者(希望也包括读者本人)应尽的责任,只有这样才能为用户提供更好的交互体验。
Android是一个软件开发平台,它诞生于2003年年底,由Danger公司(开发流行的Sidekick手机的公司)的前雇员开发。2005年,运营Android的Danger公司被Google公司收购。三年后,HTC Dream(G1)作为第一款运行Android操作系统的手机正式发布。此后三年,虽然硬件与平台发生了很大的更新和迭代,但是Android依然保持为一个单纯的手机操作系统。
2011年,Google公司为Android添加了新的特性,增加了对两种设备的支持:平板电脑和电视。这不仅标志着官方第一次扩充Android所支持设备的种类,还激发了厂商对其他潜在支持设备的兴趣。现在,Android已经可以运行在笔记本电脑、手表、视频游戏机、车载音响等多种设备上。我相信在不久的将来Android会支持更多的设备。
作为应用开发者,理解平台的多样化和发展方向是非常重要的。在Android上做开发已经不像为竖屏手机设计软件那么简单了。尽管这意味着开发者开发应用程序的工作量增加了,但是,最终结果却是无论应用程序运行在哪种设备上,都会为使用者提供良好的用户体验。
在开发应用程序的过程中,除了个人创造力和开发意愿以外,开发者还需要具备三样东西:平台开发文档、开源社区以及整合资源并融会贯通的能力。此外,开发者还需要具备把上述零散的知识整合到应用中的能力。这个整合的过程可不像搭积木一样简单,如果那样,任何人都可以开发应用了。本书便是一本分析如何整合资源的指南。
本书以示例程序的形式分析如何解决Android开发过程中出现的常见问题。书中有些示例程序相对简单,有些示例程序相当复杂。这些示例程序分享了一些只有零散或者零星文档可查但是却经常困扰开发者的问题。本书不仅仅是一本单纯学习和掌握Android开发技巧的书,更是一本填补空白的书。
——JakeWharton,Android工程师
活用布局
本章将介绍Android布局相关的一些窍门和建议。通过本章,读者不仅可以学习如何从零开始创建特定类型的布局,还可以学到如何改进和优化现有布局。
Hack1使用weight属性实现视图的居中显示
Androidv1.6+
在给开发者做演讲时,当我解释如何通过XML文件创建视图的时候,一个开发者问道:“如果我想将按钮居中显示,并且占据其父视图宽度的一半,应该怎么做呢?”起初,我并没有完全理解他的意思,后来他把想要实现的功能画在了黑板上,我才恍然大悟。他想实现的功能如图1-1和图1-2所示。
看起来很简单是吗?现在开始,请读者用5分钟时间实现这个功能。在这个Hack里,我们分析如何结合LinearLayout的android:weightSum属性和LinearLayout的子视图的android:layout_weight属性来解决这个问题。这听起来似乎很简单,不过我经常在面试中问到这个问题,很少有面试者知道最佳答案。
评论
还没有评论。