内容简介:
《工程经验手记:Android应用开发精解》以Android应用开发所需要的技术为线索,先后讲解了SDK一些工具的使用、UI开发、Service开发、数据存储、图形动画、网络开发、硬件操作、结合Web开发以及如何对应用进行优化等。本书并没有从基础的Eclipse安装、HelloWorld等讲起,而是以Android应用开发过程中常用的技术作为主线去讲解,很多内容需要读者有一定的开发经验才能够很好地理解。
《工程经验手记:Android应用开发精解》在对各种技术阐述的过程中,并不是仅仅简单地把相关知识点讲完就结束了,而是在各知识点后面分享了大量项目实践的经验。这些都是作者在项目过程中思考的成果,是多年从事软件开发工作的技术沉淀,是项目实践过程中的精华。
本书适合有一定Java基础并且想要自学Android开发的编程爱好者、想要转行从事Android领域开发的程序员,以及正在从事Android的初学者阅读。
目录:
第1章 工欲善其事 必先利其器—Android SDK工具
1.1 巧妇难为无米之炊—Android SDK的安装
1.2 设备管理工具—调试桥(ADB)
1.2.1 ADB简介
1.2.2 ADB常用命令
1.3 没有真机一样开发—Android模拟器
1.4 Android调试—调试工具DDMS
1.5 UI布局分析工具—视图工具(Hierarchy Viewer)
1.6 Log打印—Log输出工具logcat
1.6.1 启动logcat
1.6.2 过滤日志输出
1.6.3 控制日志输出格式
1.6.4 查看可用日志缓冲区
1.7 图片拉伸不失真—九宫格绘制工具Draw 9Patch
1.7.1 什么是“点九”文件
1.7.2 点九文件的制作
第2章 吸引你的眼球—UI编程
2.1 UI基础—常用UI组件
2.1.1 文本显示—文本框(TextView)
2.1.2 按钮(Button)
2.1.3 文本编辑—编辑框(EditText)
2.1.4 图片显示—图片视图(ImageView)
2.1.5 多项选择—多选框(CheckBox)和单项选择—单选框(RadioBox)
2.1.6 图片拖动—拖动效果(Gallery)
2.1.7 列表组件(ListView)
2.2 彰显你的个性—自定义UI组件
2.3 简单明了的消息提示框(Toast)和对话框(Dialog)
2.3.1 Toast提示
2.3.2 Dialog提示
2.4 Menu键的呼唤—Menu菜单
第3章 界面UI的基石—UI布局
3.1 用户界面的基本单元—View视图
3.2 百花齐放—各种Layout布局
3.2.1 Layout布局的简单介绍
3.2.2 线性布局(LinearLayout)
3.2.3 相对布局(RelativeLayout)
3.2.4 框架布局(FrameLayout)
3.2.5 表单布局(TableLayout)
3.2.6 绝对布局(AbsoluteLayout)
3.3 样式(Style)和主题(Theme)的使用
3.3.1 样式(Style)的使用
3.3.2 主题(Theme)的使用
第4章 Android开发三大基石—Activity、Service和Handler
4.1 应用程序的接口—Activity窗口
4.1.1 Activity生命周期
4.1.2 Activity栈
4.1.3 Activity的创建
4.1.4 Activity的4种加载模式
4.1.5 Activity交互—Activity跳转
4.1.6 Activity中数据传递
4.2 千变万化的服务-Service开发
4.2.1 Service的生命周期
4.2.2 Service的启动和停止
4.2.3 我的服务我来用—本地服务开发
4.2.4 开机自启动的服务
4.3 Android线程间的通信—消息机制
4.3.1 消息的传递—Handler的使用
4.3.2 Android中消息机制的详细分析
第5章 以数据为中心—数据存取
5.1 文件操作
5.1.1 读写一般的文本文件
5.1.2 结构性的文件—读写XML文件
5.1.3 自由操作,随心所欲—序列化和反序列化
5.2 通用的数据操作方式—数据库
5.2.1 SQLite数据库介绍
5.2.2 创建并打开数据库
5.2.3 添加、删除和修改操作
5.2.4 游标的操作—使用Cu or
5.3 安全方便简单—使用SharedPreferences
5.4 我的数据大家用—ContentProvider、ContentResolver
第6章 一张白纸好作画—Canvas画布
6.1 Canvas画布简介
6.1.1 View Canvas—使用普通View的Canvas画图
6.1.2 Bitmap Canvas—使用普通Bitmap的Canvas画图
6.1.3 SurfaceView Canvas—使用SurfaceView的Canvas画图
6.2 Canvas常用绘制方法
6.3 对Canvas进行变换
6.4 Canvas绘制的辅助类
6.4.1 画笔android.graphics.Paint
6.4.2 字体android.graphics.Typeface
6.4.3 颜色android.graphics.Color
6.4.4 路径android.graphics.Path
6.4.5 路径的高级效果android.graphics.PathEffect
6.4.6 点类android.graphics.Point和android.graphics.PointF
6.4.7 形状类android.graphics.Rect和android.graphics.RectF
6.4.8 区域android.graphics.Region与Region.Op
6.4.9 千姿百态,矩阵变换android.graphics.Matrix
第7章 实现炫酷效果—图像和动画
7.1 Android的几种常用图像类型
7.2 图片的基础—Bitmap(位图)
7.2.1 如何获取位图资源
7.2.2 如果获取位图的信息
7.2.3 位图的显示与变换
7.3 变化多端—Drawable(绘图类)
7.3.1 Drawable的一些常用子类
7.3.2 BitmapDrawable
7.3.3 点九图片—NinePatchDrawable
7.3.4 会动的图片—StateListDrawable
7.3.5 颜色填充的另一种方法—PaintDrawable
7.3.6 超炫的特效—ShapeDrawable
7.3.7 简单的帧动画—AnimationDrawable
7.4 轻量级图片—Picture
7.5 Drawable、Bitmap、byte[]之间的转换
7.6 Android提供的几种动画效果(Animation)
7.7 渐变动画—Tween Animation
7.7.1 Tween Animation简介
7.7.2 Tween Animation共同的属性
7.7.3 淡进淡出—AlphaAnimation
7.7.4 忽大忽小—ScaleAnimation
7.7.5 平移—Tra lateAnimation
7.7.6 旋转—RotateAnimation
7.7.7 实现一个自己的TweenAnimation
7.8 渐变动画—Frame Animation
7.9 随意组合动画效果—AnimationSet
7.10 加速的工具—Interpolator
第8章 网络的时代—网络开发
8.1 Android中网络开发概述
8.2 直接基于Socket编程
8.2.1 Socket编程简介
8.2.2 基于TCP协议的Socket编程
8.2.3 基于UDP协议的Socket编程
8.3 基于最成熟的Web协议—HTTP协议编程
8.3.1 HTTP协议简介
8.3.2 使用URL类读取HTTP资源
8.3.3 使用HttpURLConnection类访问HTTP资源
8.3.4 使用Apache的HttpClient
8.4 耗时操作的通用方式—多线程与异步处理
8.4.1 多线程和异步处理简介
8.4.2 Handler方式
8.4.3 AsyncTask类实现后台任务的处理
8.5 轻量级的数据交换格式—JSON
8.5.1 客户端与服务器端的数据交互
8.5.2 XML格式与JSON格式的比较
8.5.3 解析JSON格式数据
第9章 多语言环境的支持和多屏幕的适配
9.1 Android程序的资源文件
9.1.1 资源文件的目录结构
9.1.2 资源文件目录的修饰语
9.1.3 程序加载资源文件的步骤
9.2 国际化和本地化的支持
9.3 多屏幕的适配
9.3.1 屏幕参数的基本概念
9.3.2 屏幕参数的各种单位及相互转换
9.3.3 处理屏幕自适应的方法
9.3.4 详细说明De ity
第10章 利用手机特性—结合硬件进行开发
10.1 炫酷的人机交互—触摸和手势
10.1.1 实现滑动翻页—使用ViewFlipper
10.1.2 支持多个手指一起操作—实现多点触摸
10.1.3 识别手势—使用GestureDetector
10.2 我在哪里—使用定位功能
10.3 电话拨打和短信发送
10.3.1 调用系统的电话拨打功能
10.3.2 实现发送短信的功能
10.4 拍照和摄像
10.5 使用传感器
10.5.1 传感器概述
10.5.2 加速度传感器
10.5.3 方向传感器
10.5.4 其他传感器
第11章 避重就轻—结合Web开发Android应用
11.1 Android上的Web应用概述
11.2 使用WebView载入Web页面
11.2.1 Webkit引擎和WebView控件
11.2.2 浏览基本的Web页面
11.2.3 开启对于JavaScript的支持
11.2.4 监听Web页面的载入
11.2.5 让WebView支持文件下载
11.3 本地代码与Web页面交互
11.3.1 向Web页面传递数据
11.3.2 本地代码调用Web页面JavaScript方法
11.3.3 Web页面调用本地Java方法
11.4 Web页面的JavaScript调试
11.5 常用移动设备Web开发框架
11.5.1 jQuery Mobile框架简介
11.5.2 Sencha Touch框架简介
11.5.3 PhoneGap开发平台简介
第12章 细节决定成败—Android应用程序的优化
12.1 对应用内存的优化
12.1.1 Android程序的内存概述
12.1.2 追踪内存—使用内存优化辅助工具
12.1.3 吃内存大户—Bitmap的优化
12.1.4 想回收就回收—使用软引用和弱引用
12.1.5 注重细节—从代码角度进行优化
12.2 对界面UI的优化
12.2.1 多利用Android系统的资源
12.2.2 抽取相同的布局
12.2.3 精简UI层次
12.2.4 界面延迟加载技术
12.3 留条后路—对Crash进行处理
12.3.1 为什么需要捕获Crash
12.3.2 如何捕获和处理Crash
参考文献
好评度