描述
开 本: 16开纸 张: 胶版纸包 装: 平装国际标准书号ISBN: 9787111522034丛书名: 移动平台开发书库
本书内容丰富、细致、全面。我们的目标是通过本书,提供多本图书的价值,读者可以根据自己的需求有选择地阅读。在内容的编写上,本书具有以下特色。
(1)结构合理
从用户的实际需求出发,科学安排知识结构,内容由浅入深,叙述清楚。全书详细地讲解了和Android网络应用开发有关的知识,内容循序渐进,由浅入深。
(2)遵循“理论介绍—演示实例—综合演练”这一主线
为了使广大读者彻底弄清楚Android网络应用开发的每一个知识点,在讲解时依次剖析了基本理论、演示实例分析、综合实战演练等内容。遵循了从理论到实践这一学习过程,实现了实践教学这一目标。
(3)易学易懂
本书内容条理清晰、语言简洁,可以帮助读者快速掌握每个知识点。使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习。
(4)实用性强
本书彻底摒弃枯燥的理论和简单的操作,注重实用性和可操作性,通过简洁的语言和细致的描述,详细讲解了各个知识点的基本知识。
(5)内容全面
本书是市面上内容较全面的一本Android网络应用开发书,无论是开发环境搭建,还是各个常用、常见的网络系统,在本书中都有讲述。
在Android系统从诞生到现在的短短几年时间里,它凭借操作的易用性和开发的简洁性,已牢牢占据智能手机操作系统市场占有率榜首的位置。而在Android应用开发领域中,网络开发一直是贯穿Android知识体系的核心内容之一。本书全部内容分为四篇,共计17章,循序渐进地讲解了Android网络开发方面的知识。本书从搭建开发环境和核心框架分析讲起,依次讲解了Android系统概述,Android网络开发基础,Java中的网络通信基础,下载、上传数据,Socket数据通信,处理XML数据,WebKit浏览网页,开发移动网页,开发蓝牙应用程序,开发Wi-Fi应用程序,NFC近场通信技术详解,开发电子邮件应用程序,Android典型网络应用实践,开发移动微博应用程序,开发Web版的电话本管理系统,开发移动微信系统,开发仿陌陌交友系统等高级知识。本书几乎涵盖了Android网络开发中的所有主要内容,并且全书内容言简意赅,讲解方法通俗易懂、详细,不但适合应用开发高手们的学习,也特别适合初学者的系统学习。
本书适合Android初学者、Android爱好者、Android网络开发人员和移动浏览器开发人员,也可以作为相关培训学校和大专院校相关专业的教学用书。
目 录
前言
篇 基础知识篇
第1章 Android系统概述 1
1.1 智能手机系统介绍 1
1.1.1 何谓智能手机 1
1.1.2 当前主流的智能手机操作系统 1
1.2 Android 5.0的新功能 2
1.3 Android的巨大优势 3
1.3.1 优点一——系出名门 3
1.3.2 优点二——强大的开发团队 3
1.3.3 优点三——诱人的奖励机制 4
1.3.4 优点四——开源 4
1.4 搭建Android应用开发环境 4
1.4.1 安装Android
SDK的系统要求 5
1.4.2 安装JDK 5
1.4.3 获取并安装Eclipse和Android SDK 9
1.4.4 安装ADT 12
1.4.5 设定Android
SDK Home 14
1.4.6 验证开发环境 15
1.4.7 创建Android虚拟设备(AVD) 16
1.4.8 启动AVD模拟器 19
1.5 段Android程序 20
1.5.1 新建Android工程 21
1.5.2 编写代码 21
1.5.3 调试 22
1.5.4 运行项目 24
第2章 Android网络开发基础 26
2.1 Android SDK帮助文档介绍 26
2.2 Android工程文件结构介绍 28
2.2.1 src目录 29
2.2.2 文件AndroidManfest.xml
29
2.2.3 定义常量的文件 30
2.3 Android中的数据存储方式 31
2.3.1 SharedPreferences存储 32
2.3.2 文件存储 34
2.3.3 SQLite存储 35
2.3.4 Content Provider存储 42
2.3.5 网络存储 45
2.4 访问操作SD卡(手机中的存储卡) 48
2.4.1 解决思路 49
2.4.2 具体实现 49
2.5 总结和网络开发有关的包 57
第二篇 核心技术篇
第3章 Java中的网络通信基础 58
3.1 Java中的网络包 58
3.1.1 InetAddress类详解 58
3.1.2 URLDecoder类和URLEncoder类 59
3.1.3 URL和URLConnection
59
3.1.4 HttpURLConnection 64
3.2 Android网络接口 66
3.2.1 android.net.http中的类 67
3.2.2 实战演练——在手机屏幕中传递HTTP参数 67
第4章 下载、上传数据 73
4.1 下载网络中的图片数据 73
4.2 下载网络中的JSON数据 75
4.2.1 JSON基础 76
4.2.2 远程下载服务器中的JSON数据 77
4.3 下载某个网页的源码 82
4.4 多线程下载 85
4.4.1 多线程下载文件的过程 85
4.4.2 在Android系统中实现多线程下载 85
4.5 上传文件到远程服务器 102
4.6 GET上传数据 106
4.6.1 使用GET方式上传数据的流程 106
4.6.2 实战演练——采用GET方法向服务器传递数据 107
4.7 POST上传数据 111
第5章 Socket数据通信 117
5.1 Socket编程初步 117
5.1.1 TCP/IP基础 117
5.1.2 UDP 118
5.1.3 基于Socket的Java网络编程 118
5.2 TCP编程详解 119
5.2.1 使用ServletSocket
120
5.2.2 使用Socket
120
5.2.3 TCP中的多线程 123
5.2.4 实现非阻塞Socket通信 127
5.3 UDP编程 133
5.3.1 使用DatagramSocket
133
5.3.2 使用MulticastSocket
138
5.4 在Android中使用Socket实现数据传输 141
第6章 处理XML数据 145
6.1 XML技术基础 145
6.1.1 XML概述 145
6.1.2 XML的语法 145
6.1.3 获取XML文档 146
6.2 使用SAX解析XML数据 148
6.2.1 SAX的原理 148
6.2.2 基于对象和基于事件的接口 149
6.2.3 常用的接口和类 150
6.2.4 实战演练——在Android系统中使用SAX解析XML数据 153
6.3 使用DOM解析XML 156
6.3.1 DOM概述 156
6.3.2 DOM的结构 157
6.3.3 实战演练——在Android系统中使用DOM解析XML数据 158
6.4 PULL解析技术 161
6.4.1 PULL解析原理 161
6.4.2 实战演练——在Android系统中使用PULL解析XML数据 161
6.5 实战演练——三种解析方式的综合演练 164
第7章 WebKit浏览网页 174
7.1 WebKit类库介绍 174
7.1.1 主要类 174
7.1.2 使用内置浏览器打开网页 175
7.2 Android 5.0中的WebView 178
7.2.1 WebView架构基础 178
7.2.2 WebView类简介 181
7.2.3 WebViewProvider接口 183
7.2.4 WebViewChromium详解 186
7.2.5 WebViewChromiumFactoryProvider详解 187
7.2.6 AwContents架构 190
7.2.7 实现Mixed Content模式 193
7.2.8 引入第三方Cookie
194
7.2.9 实战演练——在手机屏幕中浏览网页 196
第三篇 技术提高篇
第8章 开发移动网页 199
8.1 段Android网页代码 199
8.1.1 编写HTML文件 199
8.1.2 编写CSS文件 200
8.1.3 控制页面的缩放 203
8.2 为Android中的网页添加CSS样式 203
8.2.1 编写基本的样式 203
8.2.2 添加视觉效果 206
8.3 为Android网页添加JavaScript特效 207
8.3.1 jQuery框架介绍 207
8.3.2 使网页支持动态行为 209
8.4 在Android网页中使用Ajax特效 211
8.5 使用第三方框架实现动画效果 217
8.5.1 一个开源框架——JQTouch
218
8.5.2 一个简单应用 218
8.6 为网页增加数据存储功能 226
8.6.1 在Android网页中使用Web Storage 226
8.6.2 在Android网页中使用Web SQL Database 231
第9章 开发蓝牙应用程序 240
9.1 蓝牙技术基础 240
9.1.1 蓝牙技术的发展历程 240
9.1.2 低功耗蓝牙的特点 240
9.1.3 低功耗蓝牙的架构 241
9.1.4 低功耗蓝牙分类 242
9.2 分析Android系统中的蓝牙模块 243
9.3 Android系统的低功耗蓝牙协议栈 244
9.3.1 Android低功耗蓝牙协议栈基础 244
9.3.2 低功耗蓝牙API详解 245
9.4 总结和蓝牙相关的类 275
9.4.1 BluetoothSocket类 276
9.4.2 BluetoothServerSocket类 276
9.4.3 BluetoothAdapter类 277
9.4.4 BluetoothClass.Service类 281
9.4.5 BluetoothClass.Device.Major类 281
9.4.6 BluetoothClass.Device类 282
9.4.7 BluetoothClass类 282
9.5 实战演练——开发一个蓝牙控制器 283
9.5.1 界面布局 283
9.5.2 响应单击按钮 284
9.5.3 和指定的服务器建立连接 286
9.5.4 搜索附近的蓝牙设备 287
9.5.5 建立和OBEX服务器的数据传输 290
9.5.6 实现蓝牙服务器端的数据处理 293
第10章 开发Wi-Fi应用程序 297
10.1 了解Wi-Fi系统的结构 297
10.1.1 Wi-Fi概述 297
10.1.2 Wi-Fi层次结构 297
10.2 常用的Wi-Fi接口 299
10.2.1 WifiManger接口 299
10.2.2 WifiService接口 299
10.2.3 WifiWatchdogService接口 300
10.2.4 实战演练——在Android系统中控制Wi-Fi 300
第11章 NFC近场通信技术详解 309
11.1 近场通信技术基础 309
11.1.1 NFC技术的特点 309
11.1.2 NFC的工作模式 309
11.1.3 NFC和蓝牙的对比 310
11.2 射频识别技术详解 311
11.2.1 RFID技术简介 311
11.2.2 RFID技术的组成 311
11.2.3 RFID技术的特点 312
11.2.4 RFID技术的工作原理 313
11.3 Android系统中的NFC
313
11.3.1 分析Java层 314
11.3.2 分析JNI部分 330
11.3.3 分析底层 335
11.4 在Android系统中开发NFC App的方法 335
11.5 实战演练——使用NFC发送消息 338
第12章 开发电子邮件应用程序 344
12.1 在Android中发送邮件的方式 344
12.1.1 使用Intent方式 344
12.1.2 使用SmsManager收发邮件 350
12.2 向本地联系人发送邮件 358
12.2.1 界面布局 358
12.2.2 编写主程序文件 360
第13章 Android网络典型应用实践 365
13.1 测试网络下载速度 365
13.2 通过 Hander 实现异步消息处理 369
13.2.1 实现HTTP通信和XML解析的演示 370
13.2.2 使用Handler实现异步消息处理 375
13.3 实现网络多线程断点下载 380
13.3.1 实现原理 380
13.3.2 具体实现 381
13.4 判断当前网络中GPRS和Wi-Fi的状态 394
13.4.1 ConnectivityManager类和NetworkInfo类 394
13.4.2 在程序启动时对网络状态进行判断 397
13.5 开启或关闭APN
398
第14章 开发移动微博应用程序 402
14.1 微博介绍 402
14.2 微博开发技术介绍 403
14.2.1 XML-RPC技术 403
14.2.2 Meta Weblog API客户端 405
14.3 分析腾讯Android版微博API 405
14.3.1 源码和jar包下载 405
14.3.2 具体使用 406
14.4 详解Android版新浪微博 410
14.4.1 新浪微博图片缩放的开发实例 412
14.4.2 添加分享到新浪微博 418
14.4.3 通过JSON对象获取登录新浪微博 423
14.4.4 实现OAuth认证 425
14.4.5 获取用户信息 427
14.4.6 关注用户 429
14.4.7 实现收藏功能 431
14.4.8 实现微博操作功能 432
第15章 开发Web版的电话本管理系统 438
15.1 需求分析 438
15.1.1 产生背景 438
15.1.2 功能分析 438
15.2 创建Android工程 439
15.3 实现系统主界面 440
15.4 实现信息查询模块 442
15.5 实现系统管理模块 444
15.6 实现信息添加模块 448
15.7 实现信息修改模块 451
15.8 实现信息删除模块和更新模块 453
第16章 开发移动微信系统 455
16.1 微信系统基础 455
16.1.1 微信的特点 455
16.1.2 微信和Q信的关系 455
16.2 使用Android
ViewPager 456
16.3 开发一个微信系统 462
16.3.1 启动界面 462
16.3.2 系统导航界面 463
16.3.3 系统登录界面 472
16.3.4 发送信息界面 477
16.3.5 摇一摇界面 481
第四篇 综合实战篇
第17章 开发仿陌陌交友系统 490
17.1 陌陌介绍 490
17.1.1 陌陌发展现状 490
17.1.2 陌陌特点介绍 490
17.2 实现系统欢迎界面 491
17.2.1 欢迎界面布局 492
17.2.2 欢迎界面Activity
495
17.3 实现系统注册界面 497
17.3.1 注册界面布局 498
17.3.2 注册界面Activity
500
17.3.3 输入验证码界面Activity
506
17.3.4 设置密码界面Activity
509
17.3.5 设置用户名界面Activity
512
17.3.6 设置生日界面Activity
514
17.3.7 设置头像界面Activity
516
17.4 实现系统主界面 520
17.4.1 主界面布局 521
17.4.2 实现主界面Activity
522
17.4.3 实现“附近的人”界面 523
17.4.4 实现“附近的群组”界面 527
前 言
Android是一款于2007年11月5日发布的基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个专为移动终端而打造的移动软件。根据国际数据公司(IDC)公布的统计数据,在2014年季度,Android系统和iOS系统所占的装机量已达到所有智能手机出货量的92.3%。在2014年头三个月,安装Android系统的智能手机数量升至1.821亿部。我们有理由相信,在未来一段时间内,Android将依旧牢牢地占据着智能手机操作系统的位置。
市场需求分析
较高的市场占有率造就了更多开发人员关注这款操作系统,当然也不乏很多初学者,所以也就很自然地成就了相关书籍的畅销。但是在市面中已有的书籍中,大多数是入门级的教材,而关于Android网络开发领域书籍屈指可数,Android网络开发领域的专业级书籍更是寥寥无几。
只有更加专业才能造就Android开发的殿堂级高手!为了让广大初学者可以对Android网络开发有一个更加深入的认识,而不是停留在入门级而止步不前。本书对Android网络开发方面的知识进行了细致的分析,“提炼”出了Android系统开发的本质,并依此为基础,学以致用地讲解了在现实中开发典型网络项目的实现流程。
本书的内容
本书全部内容共分为4篇,共计17章,循序渐进地讲解了Android网络应用开发方面的知识。本书从搭建开发环境和核心框架分析讲起,依次讲解了Android技术概述,Android技术核心框架分析,Java中的网络通信基础,WebKit浏览网页,开发移动网页,开发蓝牙应用程序,开发Wi-Fi应用程序,NFC近场通信技术详解,开发电子邮件应用程序,Android网络典型应用实践,开发移动微博应用程序,开发Web版的电话本管理系统,移动微信系统,仿陌陌交友系统,下载、上传数据,Socket数据通信,处理XML数据等高级知识。本书几乎涵盖了Android网络应用开发中的所有主要内容,并且全书内容言简意赅,讲解方法通俗易懂、详细,不但适合应用开发高手们的学习,也特别有利于初学者学习并消化。
本书的版本
Android系统自2008年9月发布个版本1.1以来,截至2015年10月发布的版本6.0,一共存在十多个版本。由此可见,Android系统升级频率较快,一年之中至少有两个新版本诞生。但是如果过于追求新版本,会造成力不从心的后果。所以在此建议广大读者:“不必追求的版本,我们只需关注流行的版本即可”。据官方统计,截至2015年10月,占据前三位的版本分别是Android
4.2,Android 4.4和Android 5.0。
2014年10月,谷歌I/O大会在旧金山开幕。会上谷歌发布了Android 5.0系统,其正式版本于2014年10月16日推出。本书的内容以编者撰稿时的版本Android 5.0为基础,并且兼容了Android 4.4及其以前的版本,详细讲解了Android网络应用开发的相关知识。
本书特色
本书内容丰富、细致、全面。我们的目标是通过本书,提供多本图书的价值,读者可以根据自己的需求有选择地阅读。在内容的编写上,本书具有以下特色。
(1)结构合理
从用户的实际需求出发,科学安排知识结构,内容由浅入深,叙述清楚。全书详细地讲解了和Android网络应用开发有关的知识,内容循序渐进,由浅入深。
(2)遵循“理论介绍—演示实例—综合演练”这一主线
为了使广大读者彻底弄清楚Android网络应用开发的每一个知识点,在讲解时依次剖析了基本理论、演示实例分析、综合实战演练等内容。遵循了从理论到实践这一学习过程,实现了实践教学这一目标。
(3)易学易懂
本书内容条理清晰、语言简洁,可以帮助读者快速掌握每个知识点。使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习。
(4)实用性强
本书彻底摒弃枯燥的理论和简单的操作,注重实用性和可操作性,通过简洁的语言和细致的描述,详细讲解了各个知识点的基本知识。
(5)内容全面
本书是市面上内容较全面的一本Android网络应用开发书,无论是开发环境搭建,还是各个常用、常见的网络系统,在本书中都有讲述。
读者对象
Android编程的初学者。
大中专院校的教师和学生。
Android编程爱好者。
相关培训机构的教师和学员。
从事Android网络开发的程序员。
致谢
本书的编写人员有代林峰、管西京、周秀、张余、李佐彬、王梦、王书鹏、唐凯、关立勋、张建敏、杨靖宇、谭贞军、杨絮、刘英田、高秀云、任杰、张子帝、黄河、孟娜、杨国华、王南荻、翟明、焦甜甜、张储、刘继虎。在本书的编写过程中,始终本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。
编 者
评论
还没有评论。