新書推薦:
《
初平:汉末群雄混战(190—195)
》
售價:NT$
245.0
《
建安:官渡大决战(196—200)
》
售價:NT$
245.0
《
权力的图像——近代的中国海图与交流
》
售價:NT$
840.0
《
中亚民族史
》
售價:NT$
840.0
《
人工智能与智能制造:概念与方法 [美]马苏德·索鲁什 [美]理查德·D.布拉茨
》
售價:NT$
640.0
《
中平:东汉王朝大崩溃(184—189)
》
售價:NT$
245.0
《
基于鲲鹏的分布式图分析算法实战
》
售價:NT$
495.0
《
中国历史研究入门(全二册)
》
售價:NT$
1290.0
|
編輯推薦: |
资深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》。
|
目錄:
|
推荐序
序
致谢
关于本书
关于原书封面插图
第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属性来解决这个问题。这听起来似乎很简单,不过我经常在面试中问到这个问题,很少有面试者知道最佳答案。
|
|