微信扫一扫,移动浏览光盘
简介
"本书由一线资深软件开发工程师基于目前广泛使用的Android 6/7和Android Studio 2.x开发环境倾力编撰,循序渐进地介绍了Android 应用开发的主要内容,包括开发环境搭建、Android语言基础、常用布局及控件、四大组件、图形图像技术、多媒体应用、数据处理技术、触摸和手势识别、多线程、网络技术、定位、蓝牙以及VR和NDK开发等知识,全书代码示例丰富,提供App完整项目案例,通过阅读本书,读者能够掌握Android应用开发所需要的各种技术和从0到1开发一款自己的App产品。本书适合于Android初学者、移动开发从业者学习,也可作为培训机构及职业学院软件开发实践课的参考教材。"
目录
目 录
第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 接收短信 316
11.2 再论Notification 321
11.2.1 普通Notification回顾与拓展 321
11.2.2 折叠式Notification 325
11.2.3 悬挂式Notification 326
11.2.4 Notification的其他应用 326
11.3 动画 330
11.3.1 帧动画 330
11.3.2 补间动画 332
11.3.3 属性动画 338
11.4 相机与相册 340
11.4.1 相机的使用 340
11.4.2 相册的使用 344
11.4.3 图片的裁剪 346
11.5 媒体播放器的开发 351
11.5.1 开发一个音频播放器 351
11.5.2 开发一个视频器 359
11.6 录视频与录音频 366
11.6.1 录制音频 366
11.6.2 录制视频 371
11.7 小结 377
第12章 传感器与地理位置定位 378
12.1 传感器 379
12.1.1 传感器简介 379
12.1.2 加速度传感器 381
12.1.3 光线传感器 381
12.2 地理位置定位 385
12.2.1 LocationManager的使用 385
12.2.2 使用高德地图 389
12.3 小结 398
第13章 VR开发入门 399
13.1 详解VR 400
13.1.1 VR是什么 400
13.1.2 VR的关键技术 400
13.1.3 VR发展历程 402
13.1.4 VR在技术层面上的现状 402
13.1.5 VR当前市场现状 403
13.1.6 VR的市场前景 403
13.1.7 主流的硬件设备形态 405
13.1.8 谁会领衔VR内容制作 406
13.2 基于Unity3D的Android平台VR应用开发 406
13.2.1 下载Cardboard SDK for Unity 408
13.2.2 导入CardboardSDKForUnity.unitypackage 408
13.2.3 运行DemoScene 409
13.2.4 使用Unity3D创建一个自己的场景 412
13.3 小结 414
第14章 Android NDK开发入门 415
14.1 NDK简介 416
14.2 使用Android Studio进行NDK开发 416
14.2.1 Android NDK开发环境搭建 417
14.2.2 第一个NDK应用 420
14.3 小结 424
第15章 完成并发布一个产品 425
15.1 功能需求分析 426
15.2 功能开发(上) 427
15.2.1 程序概览 427
15.2.2 数据库设计与开发 427
15.2.3 用户登录验证 431
15.2.4 工具类 437
15.3 功能开发(下) 441
15.3.1 日记记录 441
15.3.2 日记查询 456
15.3.3 个人中心 465
15.3.4 AndroidManifest.xml及其他配置文件 471
15.4 将应用打包并发布到小米应用商店 474
15.4.1 应用打包 474
15.4.2 发布应用到小米应用商店 476
15.5 小结 480
【媒体评论】
评论
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问