本书由一线资深软件开发工程师基于目前广泛使用的Android 6/7和Android Studio 2.x开发环境倾力编撰。本书是作者多年实战经验与智慧感悟的结晶,旨在帮助没有经验的读者顺利叩开Android应用开发的大门,帮助有经验的读者迅速提升功力,从而在Android开发的道路上所向披靡。本书循序渐进地介绍Android 应用开发的主要内容,包括开发环境搭建、Android语言基础、常用布局及控件、四大组件、图形图像技术、多媒体应用、数据处理技术、触摸和手势识别、多线程、网络技术、定位、蓝牙、VR和NDK开发等知识。本书示例代码丰富,提供完整App项目案例。通过阅读本书,读者能够掌握Android应用开发所需要的各种技术,从0到1开发一款自己的App产品。
目 录
第1章 初识Android 1
1.1 Android发展史与现状 2
1.2 Android系统架构与特性 3
1.2.1 Android系统架构 3
1.2.2 Dalvik VM和JVM的区别 5
1.2.3 Android系统平台的优势 6
1.3 Android开发环境搭建 7
1.3.1 下载安装Java并配置环境变量 7
1.3.2 下载安装Android Studio和Android SDK 10
1.4 Android Studio的使用与工程目录解析 12
1.4.1 建立新的Android应用 12
1.4.2 创建模拟器并使用模拟器运行应用 14
1.4.3 工程目录分析 17
1.4.4 Android Studio常见问题 19
1.5 小结 20
第2章 界面组件Activity 21
2.1 从*个工程开始 22
2.1.1 App是如何运行的 22
2.1.2 项目中的资源 24
2.1.3 理解Activity 25
2.2 Activity生命周期 27
2.2.1 Activity生命周期概述 27
2.2.2 Activity生命周期实例 29
2.3 Intent与Activity之间的跳转 33
2.3.1 Intent简介 33
2.3.2 使用Intent进行Activity跳转 34
2.4 Activity启动模式 41
2.4.1 standard模式 41
2.4.2 singleTop模式 43
2.4.3 singleTask模式 44
2.4.4 singleInstance模式 45
2.5 小结 47
第3章 用户界面UI的开发 48
3.1 布局管理器概述 49
3.2 LinearLayout:线性布局管理器 50
3.2.1 LinearLayout实例及属性详解 51
3.2.2 使用代码控制线性布局管理器 52
3.3 TableLayout:表格布局管理器 54
3.3.1 TableLayout实例与属性详解 54
3.3.2 使用代码控制表格布局管理器 56
3.4 RelativeLayout:相对布局管理器 57
3.4.1 RelativeLayout实例及属性详解 57
3.4.2 使用代码控制相对布局管理器 59
3.5 FrameLayout: 帧布局管理器 60
3.5.1 FrameLayout布局实例 60
3.5.2 使用代码控制帧布局管理器 61
3.6 AbsoluteLayout:*布局管理器 62
3.7 GridLayout:网格布局管理器 63
3.7.1 GridLayout实例及属性详解 63
3.7.2 使用代码控制网格布局管理器 65
3.8 布局管理器之间互相嵌套 67
3.9 小结 69
第4章 基本控件与事件处理 70
4.1 常用基本控件的使用 71
4.1.1 基本控件的使用 71
4.1.2 Android中的尺寸问题 79
4.2 Android中的事件处理 79
4.2.1 点击事件 80
4.2.2 长按事件 83
4.2.3 触摸事件 84
4.2.4 按键事件 85
4.2.5 下拉列表的选中事件 86
4.2.6 单选按钮的改变事件 88
4.2.7 焦点事件 89
4.3 ListView的使用 90
4.3.1 使用ArrayAdapter实现ListView 90
4.3.2 使用SimpleAdapter实现ListView 92
4.3.3 继承BaseAdapter自定义Adapter来实现ListView 94
4.3.4 item的事件处理 98
4.4 小结 100
第5章 Fragment详解 101
5.1 Fragment的创建与使用 102
5.1.1 静态使用Fragment 102
5.1.2 动态使用Fragment 105
5.1.3 使用Fragment时常用的类和方法 109
5.2 Fragment生命周期 110
5.3 ListFragment的使用 116
5.4 用DialogFragment创建对话框 118
5.4.1 通过重写onCreateView方法来实现对话框 119
5.4.2 通过重写onCreateDialog方法来实现对话框 121
5.5 Fragment在开发中遇到的一些常见问题 122
5.5.1 旋转屏幕问题 122
5.5.2 Fragment返回栈 122
5.5.3 Fragment与Activity之间的数据通信 127
5.6 小结 130
第6章 更多的控件与控件开发 131
6.1 ViewPager的使用 132
6.1.1 ViewPager的使用 132
6.1.2 ViewPager与Fragment 135
6.1.3 ViewPager与TabLayout 137
6.2 RecyclerView的使用 140
6.2.1 RecyclerView的实现 140
6.2.2 item分隔线及动画效果 145
6.2.3 点击事件的实现 149
6.3 自定义View控件 151
6.3.1 自绘控件 151
6.3.2 继承控件 156
6.3.3 组合控件 162
6.4 小结 165
第7章 数据存储 166
7.1 SharedPreferences 167
7.2 文件存储 173
7.2.1 在应用私有文件夹中读写数据 173
7.2.2 向SDCard写入数据 176
7.3 SQLite数据库 177
7.3.1 SQLite简介 177
7.3.2 SQLite操作的核心类SQLiteDatabase与SQLiteOpenHelper 178
7.3.3 SQLite操作实例 184
7.4 ContentProvider 194
7.4.1 ContentProvider常用类简介 195
7.4.2 自定义ContentProvider 197
7.5 动态权限 202
7.5.1 动态权限简介 203
7.5.2 读取通话记录 204
7.6 小结 209
第8章 Service详解 210
8.1 Service综述 211
8.1.1 Service的分类 211
8.1.2 为什么不使用线程 212
8.1.3 Service的创建与启动 212
8.1.4 Service生命周期 213
8.2 Service的简单实例 214
8.2.1 以start方式创建与启动Service 215
8.2.2 以bind方式创建与绑定Service 220
8.3 Android消息处理机制 227
8.3.1 Handler机制核心类介绍 227
8.3.2 Handler机制使用实例 231
8.3.3 Handler机制与AsyncTask比较分析 235
8.4 前台服务 239
8.4.1 Notification简介与使用 240
8.4.2 前台服务使用实例 241
8.5 IntentService 245
8.6 小结 248
第9章 Android广播机制 249
9.1 广播机制概述 250
9.2 使用系统广播 251
9.2.1 动态注册广播实例 251
9.2.2 静态注册广播实例 256
9.3 自定义广播:普通广播与有序广播 257
9.3.1 普通广播实例 257
9.3.2 有序广播实例 259
9.4 使用本地广播 263
9.5 小结 265
第10章 网络开发 266
10.1 Android网络通信概述 267
10.1.1 TCP/IP 267
10.1.2 HTTP与Socket 267
10.2 使用HTTP协议进行网络通信 268
10.2.1 HttpURLConnection简介 269
10.2.2 HttpURLConnection使用实例 269
10.3 客户端类库OkHttp 277
10.3.1 OkHttp简介 277
10.3.2 OkHttp中各种请求的实现 279
10.3.3 OkHttp使用实例 284
10.3.4 JSON简介 289
10.4 使用Socket进行网络通信 291
10.4.1 Socket简介 291
10.4.2 基于TCP的Socket 292
10.5 WebView 297
10.5.1 WebView的基本使用 297
10.5.2 使用HTML进行UI设计 299
10.6 小结 303
第11章 多媒体开发 304
11.1 拨号功能与短信功能 305
11.1.1 拨号的实现 305
11.1.2 短信发送 310
11.1.3 接收短信
评论晒单