《精通ANDROID网络开发》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:王东华编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115412744
  • 页数:589 页
图书介绍:本书通过大型综合实例,分别介绍了开发网络视频播放器系统、RSS阅读器系统、邮件系统的基本过程,介绍了开发大型Android网络系统的基本流程。以及和Android5.0 网络开发相关的API,使读者可以尽快达到学以致用的目标!

第1篇 基础知识篇 2

第1章 Android技术概述 2

1.1 智能手机系统介绍 2

1.1.1 何谓智能手机 2

1.1.2 Android 5.0的突出变化 2

1.2 搭建Android应用开发环境 3

1.2.1 安装Android SDK的系统要求 4

1.2.2 安装JDK 4

1.2.3 获取并安装Eclipse和Android SDK 7

1.2.4 安装ADT 8

1.2.5 设定Android SDKHome 9

1.2.6 验证开发环境 10

1.2.7 创建Android虚拟设备(AVD) 10

1.2.8 启动AVD模拟器 12

1.2.9 解决搭建环境过程中的常见问题 14

第2章 Android技术核心框架分析 17

2.1 简析Android安装文件 17

2.1.1 Android SDK目录结构 17

2.1.2 android.jar及内部结构 18

2.1.3 阅读SDK帮助文档 18

2.1.4 常用的SDK工具 19

2.2 演示官方实例 20

2.3 剖析Android系统架构 21

2.3.1 Android体系结构介绍 21

2.3.2 Android应用工程文件组成 23

2.4 简述五大组件 25

2.4.1 用Activity来表现界面 25

2.4.2 用Intent和Intent Filter实现切换 26

2.4.3 Service为你服务 26

2.4.4 用Broadcast Intent Receiver发送广播 27

2.4.5 用Content Provider存储数据 27

2.5 进程和线程 27

2.5.1 先看进程 27

2.5.2 再看线程 28

2.5.3 应用程序的生命周期 28

2.6 第一段Android程序 30

第3章 网络开发技术基础 34

3.1 HTML简介 34

3.1.1 HTML初步 34

3.1.2 字体格式设置 35

3.1.3 使用标示标记 37

3.1.4 使用区域和段落标记 37

3.1.5 使用表格标记 38

3.1.6 使用表单标记 41

3.2 CSS技术基础 43

3.2.1 基本语法 43

3.2.2 CSS属性介绍 44

3.2.3 CSS编码规范 46

3.3 JavaScript技术基础 46

3.3.1 JavaScript概述 47

3.3.2 JavaScript运算符 47

3.3.3 JavaScript循环语句 48

3.3.4 JavaScript函数 50

3.3.5 JavaScript事件 52

第2篇 网络数据通信篇 56

第4章 HTTP数据通信 56

4.1 HTTP基础 56

4.1.1 HTTP概述 56

4.1.2 HTTP协议的功能 56

4.1.3 Android中的HTTP 57

4.2 使用Apache接口 58

4.2.1 Apache接口基础 58

4.2.2 Apache应用要点(1) 58

4.2.3 Apache应用要点(2) 61

4.3 使用标准的Java接口 68

4.3.1 IP地址 68

4.3.2 URL地址 69

4.3.3 套接字Socket类 69

4.3.4 URLConncetion类 70

4.3.5 在Android中使用java.net 70

4.4 使用Android网络接口 72

4.5 实战演练 72

4.5.1 实战演练——在手机屏幕中传递HTTP参数 72

4.5.2 实战演练——在Android手机中通过Apache HTTP访问HTTP资源 76

第5章 URL处理数据 79

5.1 URL和URLConnection 79

5.1.1 URL类详解 79

5.1.2 实战演练——在手机屏幕中显示QQ空间中的照片 84

5.1.3 实战演练——从网络中下载图片作为屏幕背景 86

5.2 HttpURLConnection详解 89

5.2.1 HttpURLConnection的主要用法 89

5.2.2 实战演练——在Android手机屏幕中显示网络中的图片 91

5.2.3 在手机屏幕中显示网页 93

第6章 处理XML数据 96

6.1 XML技术基础 96

6.1.1 XML的概述 96

6.1.2 XML的语法 96

6.1.3 获取XML文档 97

6.2 使用SAX解析XML数据 98

6.2.1 SAX的原理 98

6.2.2 基于对象和基于事件的接口 99

6.2.3 常用的接口和类 100

6.2.4 实战演练——在Android系统中使用SAX解析XML数据 103

6.3 使用DOM解析XML 105

6.3.1 DOM概述 105

6.3.2 DOM的结构 105

6.3.3 实战演练——在Android系统中使用DOM解析XML数据 107

6.4 Pull解析技术 109

6.4.1 Pull解析原理 109

6.4.2 实战演练——在Android系统中使用Pull解析XML数据 110

6.5 实战演练——3种解析方式的综合演练 112

第7章 下载远程数据 119

7.1 下载网络中的图片数据 119

7.2 下载网络中的JSON数据 121

7.2.1 JSON基础 121

7.2.2 实战演练——远程下载服务器中的JSON数据 122

7.3 下载某个网页的源码 125

7.4 远程获取多媒体文件 127

7.4.1 实战演练——下载并播放网络中的MP3 127

7.4.2 实战演练——下载在线铃声 133

7.5 多线程下载 137

7.5.1 多线程下载文件的过程 137

7.5.2 实战演练——在Android系统中实现多线程下载 138

7.6 远程下载并安装APK文件 150

7.6.1 APK基础 150

7.6.2 实战演练——在Android系统中下载并安装APK文件 152

第8章 上传数据 157

8.1 实战演练——上传文件到远程服务器 157

8.2 使用Get方式上传数据 159

8.3 使用Post方式上传数据 163

8.4 使用HTTP协议实现上传 166

8.4.1 一段演示代码 166

8.4.2 实战演练——HTTP协议实现文件上传 171

第9章 使用Socket实现数据通信 176

9.1 Socket编程初步 176

9.1.1 TCP/IP协议基础 176

9.1.2 UDP协议 177

9.1.3 基于Socket的Java网络编程 177

9.2 TCP编程详解 178

9.2.1 使用ServerSocket 179

9.2.2 使用Socket 179

9.2.3 TCP中的多线程 181

9.2.4 实现非阻塞Socket通信 184

9.3 UDP编程 188

9.3.1 使用DatagramSocket 188

9.3.2 使用MulticastSocket 192

9.4 实战演练——在Android中使用Socket实现数据传输 195

第10章 使用WebKit浏览网页数据 198

10.1 WebKit源码分析 198

10.1.1 Java层框架 198

10.1.2 C/C++层框架 202

10.2 分析Web Kit的操作过程 205

10.2.1 WebKit初始化 205

10.2.2 载入数据 206

10.2.3 刷新绘制 207

10.3 Web View详解 208

10.3.1 Web View介绍 208

10.3.2 实现WebView的两种方式 210

10.3.3 WebView的几个常见功能 212

10.4 实战演练 217

10.4.1 实战演练——在手机屏幕中浏览网页 217

10.4.2 实战演练——加载一个指定的HTML程序 219

10.4.3 实战演练——使用WebView加载JavaScript程序 220

10.5 使用WebView的注意事项 223

第3篇 移动Web应用篇 226

第11章 HTML5技术初步 226

11.1 HTML5介绍 226

11.1.1 发展历程 226

11.1.2 HTML5的吸引力 226

11.2 新特性之视频处理 227

11.2.1 video标记 227

11.2.2 <video>标记的属性 228

11.3 新特性之音频处理 231

11.3.1 audio标记 231

11.3.2 <audio>标记的属性 232

11.4 新特性之canvas 235

11.4.1 canvas标记介绍 235

11.4.2 HTML DOM Canvas对象 236

11.4.3 实战演练——实现坐标定位 236

11.4.4 实战演练——在指定位置画线 237

11.4.5 实战演练——绘制一个圆 238

11.4.6 实战演练——用渐变色填充一个矩形 238

11.4.7 实战演练——显示一幅指定的图片 239

11.5 新特性之Web存储 239

11.5.1 Web存储介绍 239

11.5.2 HTML5中Web存储的意义 240

11.5.3 两种存储方法 240

11.6 表单的新特性 242

11.6.1 全新的Input类型 242

11.6.2 全新的表单元素 245

11.6.3 全新的表单属性 246

第12章 为Android开发网页 252

12.1 准备工作 252

12.1.1 搭建开发环境 252

12.1.2 实战演练——编写一个适用于Android系统的网页 253

12.1.3 控制页面的缩放 256

12.2 添加Android的CSS 256

12.2.1 编写基本的样式 256

12.2.2 添加视觉效果 258

12.3 添加JavaScript 259

12.3.1 jQuery框架介绍 259

12.3.2 具体实践 260

12.4 使用Ajax 262

实战演练——在Android系统中开发一个Ajax网页 262

12.5 让网页动起来 266

12.5.1 一个开源框架——JQTouch 266

12.5.2 实战演练——在Android系统中使用JQTouch框架开发网页 266

第13章 jQuery Mobile基础 273

13.1 jQuery Mobile简介 273

13.1.1 jQuery介绍 273

13.1.2 jQuery Mobile的特点 274

13.1.3 对浏览器的支持 274

13.1.4 jQuery Mobile的4个突出特性 275

13.2 jQuery的基本语法 277

13.2.1 页面模板 277

13.2.2 多页面模板 280

13.2.3 对话框 281

13.3 实现导航功能 282

13.3.1 页眉栏 282

13.3.2 页脚 284

13.3.3 工具栏 285

13.4 按钮 287

13.4.1 链接按钮 287

13.4.2 表单按钮 288

13.5 表单 289

13.5.1 表单基础 289

13.5.2 在表单中输入文本 290

13.6 列表 293

13.6.1 列表基础 293

13.6.2 内置列表 294

13.6.3 列表分割线 295

第4篇 典型网络应用篇 298

第14章 Wi-Fi系统应用 298

14.1 了解Wi-Fi系统的结构 298

14.1.1 Wi-Fi概述 298

14.1.2 Wi-Fi层次结构 298

14.1.3 Wi-Fi与Linux的差异 300

14.2 分析源码 300

14.2.1 本地部分 300

14.2.2 JNI部分 303

14.2.3 Java FrameWork部分 304

14.2.4 Setting中的设置部分 305

14.3 开发Wi-Fi应用程序 306

14.3.1 类WifiManager 306

14.3.2 实战演练——在Android系统中控制Wi-Fi 309

14.3.3 实战演练——控制Android系统中的Wi-Fi 315

14.3.4 实战演练——Wi-Fi综合演练 317

第15章 蓝牙系统应用 324

15.1 了解蓝牙系统的结构 324

15.1.1 蓝牙概述 324

15.1.2 蓝牙层次结构 325

15.2 分析蓝牙模块的源码 326

15.2.1 初始化蓝牙芯片 326

15.2.2 蓝牙服务 327

15.2.3 管理蓝牙电源 327

15.3 与蓝牙相关的类 328

15.3.1 BluetoothSocket类 328

15.3.2 BluetoothServerSocket类 329

15.3.3 BluetoothAdapter类 330

15.3.4 BluetoothClass.Service类 336

15.3.5 BluetoothClass.Device类 336

15.4 在Android平台开发蓝牙应用的过程 337

15.5 实战演练 341

15.5.1 实战演练——开发一个控制玩具车的蓝牙遥控器 341

15.5.2 实战演练——开发一个Android蓝牙控制器 347

15.5.3 实战演练——开发一个Android蓝牙通信系统 356

第16章 邮件应用 369

16.1 使用Android内置的邮件系统 369

16.1.1 实战演练——在发送短信时实现E-mail邮件通知 369

16.1.2 实战演练——来电时自动邮件通知 372

16.1.3 实战演练——实现一个简易邮件发送系统 374

16.1.4 实战演练——调用内置Gmail发送邮件 377

16.1.5 其他方法 381

16.2 使用SmsManager收发邮件 382

16.2.1 SmsManager基础 382

16.2.2 实战演练——使用SmsManager实现一个邮件发送程序 383

16.3 commons-mail.jar和mail.jar 388

16.3.1 使用commons-mail.jar发送邮件 388

16.3.2 使用mail.jar接收邮件 390

第17章 RSS处理 395

17.1 RSS基础 395

17.1.1 RSS的用途 395

17.1.2 RSS的基本语法 395

17.2 SAX技术介绍 397

17.2.1 SAX的原理 397

17.2.2 基于对象和基于事件的接口 397

17.2.3 常用的接口和类 398

17.3 实战演练——开发一个RSS程序 401

第18章 网络视频处理 412

18.1 MediaPlayer视频技术 412

18.1.1 MediaPlayer基础 412

18.1.2 MediaPlayer的状态 412

18.1.3 MediaPlayer方法的有效状态和无效状态 415

18.1.4 MediaPlayer的接口 417

18.1.5 MediaPlayer的常量 417

18.1.6 MediaPlayer的公共方法 417

18.2 VideoView技术 418

18.2.1 构造函数 419

18.2.2 公共方法 419

18.3 实战演练——开发一个网络视频播放器 420

第19章 网络流量监控 427

19.1 TrafficStats类详解 427

19.1.1 常量和公共方法 427

19.1.2 使用类TrafficStats统计流量 428

19.2 实战演练——开发一个流量统计系统 430

19.2.1 实现界面布局 431

19.2.2 实现Activity文件 434

19.2.3 实现数据处理模块的功能 439

19.2.4 设置权限 442

第5篇 综合实战篇 444

第20章 网络RSS阅读器 444

20.1 实现流程 444

20.2 具体实现 444

20.2.1 建立实体类 444

20.2.2 主程序文件ActivityMain.java 447

20.2.3 实现ContentHandler 449

20.2.4 主程序文件ActivityShow Description.java 451

20.2.5 主布局文件main.xml 452

20.2.6 详情主布局文件showdescription.xml 452

20.3 打包、签名和发布 454

20.3.1 申请会员 454

20.3.2 生成签名文件 455

20.3.3 使用签名文件 460

20.3.4 发布 461

第21章 开发一个邮件系统 462

21.1 项目介绍 462

21.1.1 项目背景介绍 462

21.1.2 项目目的 462

21.2 系统需求分析 463

21.2.1 构成模块 463

21.2.2 系统流程 465

21.2.3 功能结构图 465

21.2.4 系统需求 465

21.3 数据存储设计 466

21.3.1 用户信息类 466

21.3.2 SharedPreferences 470

21.4 具体编码 471

21.4.1 欢迎界面 471

21.4.2 系统主界面 474

21.4.3 邮箱类型设置 479

21.4.4 邮箱收取设置 481

21.4.5 邮箱发送设置 485

21.4.6 邮箱用户检查 489

21.4.7 设置用户别名 492

21.4.8 用户邮件编辑 495

第22章 在Android中开发移动微博应用 502

22.1 微博介绍 502

22.2 微博开发技术介绍 503

22.2.1 XML-RPC技术 503

22.2.2 MetaWeblogAPI客户端 505

22.3 在Android上开发移动博客发布器 505

22.3.1 XML请求 505

22.3.2 常用接口 505

22.3.3 具体实现 506

22.4 分析腾讯Android版微博API 511

22.4.1 源码和jar包下载 511

22.4.2 具体使用 511

22.5 详解新浪Android版微博API 515

22.5.1 新浪微博图片缩放的开发实例 516

22.5.2 添加分享到新浪微博 521

22.5.3 通过JSON对象获取登录新浪微博 524

22.5.4 实现OAuth认证 526

第23章 网络流量防火墙系统 528

23.1 系统需求分析 528

23.2 编写布局文件 529

23.3 编写主程序文件 530

23.3.1 主Activity文件 531

23.3.2 帮助Activity文件 539

23.3.3 公共库函数文件 539

23.3.4 系统广播文件 547

23.3.5 登录验证 548

23.3.6 打开/关闭某一个实施控件 549

第24章 开发Web版的电话本管理系统 552

24.1 需求分析 552

24.1.1 产生背景 552

24.1.2 功能分析 552

24.2 创建Android工程 553

24.3 实现系统主界面 554

24.4 实现信息查询模块 555

24.5 实现系统管理模块 556

24.6 实现信息添加模块 559

24.7 实现信息修改模块 561

24.8 实现信息删除模块和更新模块 563

第25章 移动微信系统 564

25.1 微信系统基础 564

25.1.1 微信的特点 564

25.1.2 微信和Q信、腾讯的关系 564

25.2 使用Android ViewPager 565

25.3 开发一个微信系统 569

25.3.1 启动界面 569

25.3.2 系统导航界面 570

25.3.3 系统登录界面 577

25.3.4 发送信息界面 580

25.3.5 摇一摇界面 584