《清华开发者书库 Android开发 从0到1》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:赵志荣著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302469254
  • 页数:454 页
图书介绍:本书采用了案例驱动模式系统论述Android原理、架构与开发技术。第1章、第2章和第3章主要是一些概念的介绍。第4章到第7章主要介绍Android的UI的相关知识,因为UI和控件的知识点比较零散,所以采用了一些小例子来逐个说明各个UI的知识点。从第8章到第17章都安排了一些经典案例,每章先分析案例以及案例中涉及到的知识点,然后再展开介绍。

基 础篇 3

第1章Android操作系统概述 3

1.1 Android历史介绍 3

1.2 Android架构 3

1.3 Android平台介绍 5

第2章Android开发环境搭建 7

2.1 JDK安装与配置 7

2.2 Android Studio开发工具 9

2.3 Android SDK工具包 12

2.4配置Android Studio 15

2.5 Android模拟器 16

2.5.1创建模拟器 16

2.5.2启动模拟器 21

本章总结 22

第3章 第一个Android应用程序 23

3.1使用Android Studio工具创建项目 23

3.2 Android工程剖析 27

3.2.1 Android工程目录结构 27

3.2.2 R.java文件 29

3.2.3 MainActivity.java文件 29

3.2.4 activity_main.xml布局文件 30

3.2.5 AndroidManifest.xml文件 30

3.3运行工程 32

3.4学会使用Android开发者社区帮助 33

3.4.1在线帮助文档 33

3.4.2离线帮助文档 33

3.4.3 Android SDK API文档 35

3.4.4 Android SDK开发指南 35

3.4.5使用Android SDK案例 35

本章总结 38

第4章 调试Android应用程序 39

4.1使用DDMS帮助调试程序 39

4.1.1设备列表 40

4.1.2文件浏览器 40

4.1.3 LogCat 41

4.2使用Android Studio调试 45

4.3使用ADB帮助调试程序 48

4.3.1查询模拟器实例和设备 48

4.3.2进入shell 48

4.3.3导入导出文件 49

本章总结 51

第5章Android界面编程 52

5.1 Android界面组成 52

5.1.1视图 52

5.1.2视图组 52

5.2界面构建 53

5.2.1使用Android Studio界面设计工具 53

5.2.2实例:标签和按钮 54

5.3事件处理模型 57

5.3.1活动作为事件监听器 57

5.3.2内部类事件监听器 59

5.3.3匿名内部类事件监听器 60

5.4屏幕上的事件处理 61

5.4.1触摸事件 61

5.4.2实例:屏幕触摸事件 62

5.4.3键盘事件 63

5.4.4实例:改变图片的透明度 63

本章总结 66

第6章Android界面布局 67

6.1 Android界面布局设计模式 67

6.1.1表单布局模式 67

6.1.2列表布局模式 68

6.1.3网格布局模式 68

6.2布局管理 69

6.2.1帧布局 69

6.2.2实例:使用帧布局 69

6.2.3线性布局 71

6.2.4实例:使用线性布局实现登录界面 71

6.2.5相对布局 74

6.2.6实例:使用相对布局实现查询功能界面 74

6.2.7网格布局 76

6.2.8实例1:使用网格布局实现计算器界面 77

6.2.9实例2:布局嵌套实现登录界面 79

6.3屏幕旋转问题 81

6.3.1解决方案 81

6.3.2实例:加载不同布局文件 82

本章总结 84

第7章Android简单控件 85

7.1按钮 85

7.1.1 Button 85

7.1.2 ImageButton 85

7.1.3 ToggleButton 86

7.1.4实例:ButtonSample 87

7.2标签 89

7.3文本框 89

7.3.1文本框相关属性 90

7.3.2实例1:用户登录 90

7.3.3实例2:文本框输入控制 92

7.4单选按钮 95

7.4.1 RadioButton 95

7.4.2 RadioGroup 96

7.4.3实例:使用单选按钮 96

7.5复选框 98

7.5.1 CheckBox 99

7.5.2实例:使用复选框 99

7.6进度栏 101

7.6.1进度栏相关属性和方法 101

7.6.2实例1:水平条状进度栏 103

7.6.3实例2:圆形进度栏 106

7.7拖动栏 108

7.7.1 SeekBar 109

7.7.2实例:使用拖动栏 109

本章总结 111

第8章Android高级控件 112

8.1列表类控件 112

8.1.1适配器 112

8.1.2 Spinner 113

8.1.3实例:使用Spinner进行选择 114

8.1.4 ListView 116

8.1.5实例1:使用ListView实现选择文本 116

8.1.6实例2:使用ListView实现选择文本+图片 118

8.2 Toast 122

8.2.1实例1:文本类型Toast 122

8.2.2实例2:图片类型Toast 123

8.2.3实例3:文本+图片Toast 124

8.3对话框 125

8.3.1实例1:显示文本信息对话框 126

8.3.2实例2:简单列表项对话框 128

8.3.3实例3:单选列表对话框 130

8.3.4实例4:复选列表项对话框 131

8.3.5实例5:复杂布局对话框 133

8.4操作栏和菜单 135

8.4.1操作栏 136

8.4.2菜单编程 136

8.4.3实例:文本菜单 137

8.4.4实例:操作表按钮 138

本章总结 140

第9章 活动 141

9.1活动概述 141

9.1.1创建活动 141

9.1.2活动的生命周期 142

9.1.3实例:Back和Home按钮的区别 144

9.2多活动之间跳转 146

9.2.1登录案例介绍 146

9.2.2启动下一个活动 148

9.2.3参数传递 149

9.2.4返回上一个活动 150

9.3活动任务与返回栈 152

本章总结 153

第10章 碎片 154

10.1界面重用问题 154

10.2碎片技术 155

10.3碎片的生命周期 155

10.3.1三种状态 155

10.3.2 11个方法 157

10.4使用碎片开发 157

10.4.1碎片相关类 157

10.4.2创建碎片 158

10.4.3静态添加碎片到活动 159

10.4.4动态添加碎片到活动 160

10.4.5管理碎片事务 161

10.4.6碎片与活动之间的通信 162

10.5案例:比赛项目 163

10.5.1创建两个碎片 164

10.5.2创建MainActivity活动 168

10.5.3单击Master碎片列表项 170

10.5.4数据访问对象 173

本章总结 174

第11章 意图 175

11.1什么是意图 175

11.1.1意图与目标组件间的通信 175

11.1.2意图包含内容 176

11.2意图类型 176

11.2.1显式意图 176

11.2.2隐式意图 177

11.3匹配组件 178

11.3.1动作 179

11.3.2数据 180

11.3.3类别 181

11.4实例:Android系统内置意图 183

本章总结 184

第12章 数据存储 185

12.1 Android数据存储概述 185

12.2健康助手应用 185

12.2.1需求分析 186

12.2.2原型设计 186

12.2.3 UI设计 186

12.2.4数据库设计 188

12.3本地文件 188

12.3.1沙箱目录设计 188

12.3.2访问应用程序files目录 189

12.3.3实例:访问CSV文件 190

12.4 SQLite数据库 193

12.4.1 SQLite数据类型 193

12.4.2 Android平台下管理SQLite数据库 193

12.5案例:SQLite实现健康助手数据存储 196

12.5.1 SQLiteOpenHelper帮助类 196

12.5.2数据插入 197

12.5.3数据删除 199

12.5.4数据修改 200

12.5.5数据查询 201

12.6使用Shared Preferences 203

12.6.1实例:写入SharedPreferences 203

12.6.2实例:读取SharedPreferences 205

本章总结 207

第13章 使用内容提供者共享数据 208

13.1内容提供者概述 208

13.2 Content URI 209

13.2.1 Content URI概述 210

13.2.2内置Content URI 210

13.3实例:访问联系人信息 211

13.3.1查询联系人 212

13.3.2普通权限和运行时权限 215

13.3.3通过联系人id查询联系人的Email 218

13.3.4查询联系人的电话 221

13.4实例:访问通话记录 222

13.5实例:访问短信记录 228

本章总结 232

进阶篇 235

第14章Android多线程开发 235

14.1线程概念 235

14.1.1进程概念 235

14.1.2线程概念 235

14.2计时器案例介绍 236

14.3 Java中的线程 237

14.3.1 Thread类实现线程体 238

14.3.2 Runnable接口实现线程体 240

14.3.3匿名内部类实现线程体 242

14.4 Android中的多线程 243

14.4.1主线程之外更新UI问题 243

14.4.2 Android异步消息处理机制 245

14.4.3 Handler发送消息方法 246

14.4.4计时器案例:异步消息机制实现 247

本章总结 249

第15章 服务 250

15.1服务概述 250

15.1.1创建服务 250

15.1.2服务的分类 252

15.2启动类型服务 252

15.2.1启动服务生命周期 252

15.2.2实例:启动类型服务 253

15.3绑定类型服务 255

15.3.1绑定服务生命周期 255

15.3.2实例:绑定类型服务 256

15.4 IntentService 258

15.4.1 IntentService优势 258

15.4.2实例:IntentService与Service比较 259

本章总结 261

第16章 广播接收器 262

16.1广播概述 262

16.2广播接收器概述 262

16.2.1编写广播接收器 263

16.2.2注册广播接收器 263

16.2.3实例:发送广播 265

16.3系统广播 267

16.3.1系统广播动作 267

16.3.2实例:Downloader 268

16.4本地广播 270

16.4.1本地广播API 271

16.4.2实例:发送本地广播 271

16.5通知 273

16.5.1实例:普通通知 273

16.5.2其他形式的Notification 276

本章总结 277

第17章 多媒体开发 278

17.1多媒体文件介绍 278

17.1.1音频多媒体文件介绍 278

17.1.2视频多媒体文件介绍 279

17.2 Android音频/视频播放API 280

17.2.1核心API—— MediaPlayer类 280

17.2.2播放状态 280

17.3实例:音频播放 282

17.3.1资源音频文件播放 282

17.3.2本地音频文件播放 286

17.4 Android音频/视频录制API 289

17.5实例:音频录制 290

17.6视频播放 293

17.6.1 VideoView控件 293

17.6.2实例:VideoView播放视频 294

本章总结 295

第18章 网络通信技术 296

18.1网络通信技术介绍 296

18.1.1 Socket通信 296

18.1.2 HTTP协议 296

18.1.3 HTTPS协议 297

18.1.4 Web服务 297

18.2案例:MyNotes 298

18.3发送网络请求 299

18.3.1使用j ava.Net.URL 299

18.3.2使用HttpURLConnection发送GET请求 303

18.3.3使用HttpURLConnection发送POST请求 304

18.3.4实例:Downloader 305

18.4数据交换格式 307

18.4.1 XML文档结构 309

18.4.2解析XML文档 310

18.4.3实例:DOM解析XML文档 311

18.4.4 JSON文档结构 316

18.4.5 JSON数据编码和解码 317

18.4.6实例:解码JOSN数据 319

本章总结 321

第19章 百度地图与定位服务 322

19.1使用百度地图 322

19.1.1申请API Key 322

19.1.2获得Android签名证书中的SHAT值 324

19.1.3搭建和配置环境 324

19.1.4实例:显示地图 328

19.1.5实例:设置地图状态 331

19.1.6实例:地图覆盖物 333

19.2定位服务 334

19.2.1定位服务授权 334

19.2.2位置信息提供者 337

19.2.3管理定位服务 338

19.2.4实例:MyLocation 339

19.2.5测试定位服务 341

19.3定位服务与地图结合实例:WhereAMI 345

本章总结 347

第20章Android 2D图形与动画技术 348

20.1 Android 2D绘图技术 348

20.1.1画布(Canvas)和画笔(Paint) 348

20.1.2实例:绘制点和线 349

20.1.3实例:绘制矩形 351

20.1.4实例:绘制弧线 352

20.1.5实例:绘制位图 353

20.2位图变换 355

20.2.1矩阵(Matrix) 355

20.2.2实例:位图变换 355

20.3调用Android照相机获取图片 357

20.3.1调用Android照相机 357

20.3.2实例:调用Android照相机 358

20.4 Android动画技术 360

20.4.1渐变动画 361

20.4.2实例:渐变动画 362

20.4.3动画插值器(interpolator) 365

20.4.4使用动画集(AnimationSet) 366

20.4.5帧动画 367

本章总结 369

第21章 手机功能开发 370

21.1电话应用开发 370

21.1.1拨打电话功能 370

21.1.2实例:拨打电话 371

21.1.3呼入电话状态 373

21.1.4实例:电话黑名单 374

21.2短信和彩信应用开发 378

21.2.1发送短信功能 378

21.2.2发送彩信功能 378

本章总结 379

实战篇 383

第22章 分层架构设计与重构健康助手应用 383

22.1分层架构设计 383

22.1.1低耦合企业级系统架构设计 383

22.1.2 Android平台分层架构设计 384

22.2健康助手应用架构设计 384

22.3重构健康助手数据持久层 386

22.3.1 DAO设计模式 386

22.3.2工厂设计模式 390

22.4表示层开发 392

22.4.1 Health列表界面 393

22.4.2 Health添加界面 398

22.4.3 Health修改界面 400

本章总结 402

第23章 内容提供者重构健康助手应用 403

23.1分层架构与内容提供者 403

23.2自定义内容提供者访问数据库 403

23.2.1编写内容提供者 404

23.2.2注册内容提供者 411

23.3重构健康助手数据持久层 411

本章总结 414

第24章Android敏捷开发项目实战——我的播放器应用开发 415

24.1应用分析与设计 415

24.1.1应用概述 415

24.1.2需求分析 415

24.1.3原型设计 415

24.1.4界面设计 416

24.1.5架构设计 418

24.2 Android敏捷开发 418

24.2.1敏捷开发宣言 418

24.2.2 Android可以敏捷开发 419

24.2.3 Android敏捷开发一般过程 419

24.3任务1:创建工程 420

24.4任务2:音频列表功能 420

24.4.1任务2.1:界面布局 420

24.4.2任务2.2: AudioListActivity 421

24.4.3任务2.3: AudioCursorAdapter 422

24.5任务3:音频控制功能 424

24.5.1任务3.1:界面布局 424

24.5.2任务3.2:初始化AudioPlayerActivity活动 426

24.5.3任务3.3:初始化AudioService服务 428

24.5.4任务3.4:播放控制 430

24.5.5任务3.5:进度控制 433

24.6任务4:后台播放回到前台功能 439

24.7任务5:更新专辑图片功能 441

本章总结 442

第25章 把应用发布到Google play应用商店 443

25.1谷歌Android应用商店Google play 443

25.2 Android设备测试 444

25.3还有“最后一公里” 445

25.3.1添加图标 445

25.3.2生成数字签名文件 445

25.3.3发布打包 446

25.4发布产品 448

25.4.1上传APK 449

25.4.2填写商品详细信息 450

25.4.3定价和发布范围 452

本章总结 454