第1章 Android系统介绍 1
1.1 Android是一款智能手机 2
1.1.1什么是智能手机 2
1.1.2当前主流的智能手机系统 2
1.2 Android的巨大优势 4
1.3搭建Android开发环境 5
1.3.1安装Android系统的要求 5
1.3.2安装Android插件 6
1.3.3设定Android SDK主目录 16
1.4创建Android虚拟设备 17
1.4.1 Android模拟器简介 18
1.4.2模拟器和真机的区别 18
1.4.3创建Android虚拟设备 19
1.4.4启动AVD模拟器 20
1.4.5快速安装SDK的方法 21
1.5搭建环境过程中的常见问题 22
第2章 Android网络开发基础 27
2.1 Android安装文件介绍 28
2.1.1 Android SDK目录结构 28
2.1.2 android.jar及内部结构 29
2.1.3 SDK帮助文档 30
2.1.4解析Android SDK实例 32
2.2分析Android的系统架构 32
2.2.1 Android体系结构介绍 32
2.2.2 Android工程文件结构 35
2.2.3应用程序的生命周期 38
2.3网页开发基础 41
2.3.1 HTML简介 41
2.3.2 XML技术 42
2.3.3 CSS技术 44
2.3.4 JavaScript技术 45
2.4简析Android内核 45
2.4.1 Android继承于Linux 45
2.4.2 Android内核和Linux内核的区别 46
2.5简要分析Android源码 48
2.5.1获取并编译Android源码 48
2.5.2 Android对Linux的改造 50
2.5.3为Android构建Linux的操作系统 50
2.6 总结和网络应用有关的包 51
第3章 HTTP通信处理 53
3.1 Java中的网络通信基础 54
3.1.1 Java 网络通信概述 54
3.1.2 Socket和ServerSocket 55
3.1.3网络通信的综合应用 59
3.2 HTTP协议 63
3.2.1 HTTP概述 63
3.2.2协议功能 64
3.2.3 Android中的HTTP 65
3.3使用Apache接口 66
3.3.1 Apache接口基础 66
3.3.2 Apache应用基础 66
3.3.3 Apache应用要点 73
3.4使用标准Java接口 82
3.4.1 IP地址 83
3.4.2套接字Socket类 84
3.5使用Android网络接口 85
3.5.1 android.net.http中的类 85
3.5.2在手机屏幕中传递HTTP参数 85
第4章 URL处理 91
4.1使用URL类 92
4.1.1 URL类基础 92
4.1.2 URI和URL的使用 95
4.2使用URLConnection类 103
4.3使用 HttpURLConnection类 111
4.3.1 HttpURLConnection的主要用法 111
4.3.2在Android中使用HttpURLConnection类 114
第5章 为Android开发网页 121
5.1准备工作 122
5.1.1搭建开发环境 122
5.1.2简单网页开发 125
5.1.3控制页面的缩放 128
5.2为Android中的网页添加CSS样式 129
5.2.1编写基本样式 129
5.2.2添加视觉效果 131
5.3为Android网页添加JavaScript特效 133
5.3.1 jQuery框架介绍 133
5.3.2具体实践 134
5.4在Android网页中使用Ajax特效 137
5.5让Android网页充满灵动活力 143
5.5.1开源框架——JQTouch 143
5.5.2 JQTouch简单应用 143
5.6为网页增加数据存储功能 152
5.6.1在Android网页中使用Web Storage 152
5.6.2在Android网页中使用Web SQL Database 156
第6章 WebKit浏览器详解 167
6.1 WebKit的目录结构 168
6.2 WebKit框架介绍 169
6.2.1 Java层框架 170
6.2.2 C层框架 172
6.3 WebKit操作 174
6.3.1 WebKit初始化 175
6.3.2载入数据 176
6.3.3刷新绘制 177
6.4 WebView类详解 178
6.4.1 WebView概述 178
6.4.2实现WebView的两种方式 180
6.4.3 WebView的常见功能 183
6.4.4使用WebView类浏览网页 190
6.4.5使用WebView类加载HTML程序 193
6.4.6使用WebView加载JavaScript程序 194
6.4.7使用WebView的注意事项 198
第7章 在Android中开发蓝牙应用 199
7.1蓝牙系统的结构 200
7.1.1蓝牙概述 200
7.1.2蓝牙层次结构 201
7.1.3蓝牙在Android和Linux中的差异 203
7.2分析蓝牙源码 204
7.2.1初始化蓝牙芯片 204
7.2.2蓝牙服务 204
7.2.3管理蓝牙电源 205
7.3和蓝牙相关的类 206
7.3.1 BluetoothSocket类 206
7.3.2 BluetoothServerSocket类 207
7.3.3 BluetoothAdapter类 208
7.3.4 BluetoothClass.Service类 215
7.3.5 BluetoothClass.Device.Major类 215
7.3.6 BluetoothClass.Device类 216
7.3.7 BluetoothClass类 216
7.4 Android蓝牙的基本应用 218
7.4.1使用BluetoothAdapter类 218
7.4.2使用BluetoothSocket类 221
7.4.3在Android平台开发蓝牙应用的基本步骤 223
7.5开发一个遥控器——蓝牙控制玩具车 229
第8章 在Android中开发Wi-Fi应用 239
8.1了解Wi-Fi系统的结构 240
8.1.1 Wi-Fi概述 240
8.1.2 Wi-Fi层次结构 240
8.1.3 Wi-Fi在Android和Linux中的差异 242
8.2分析W i-Fi源码 242
8.2.1本地部分 243
8.2.2 JNI部分 246
8.2.3 Java FrameWork部分 248
8.2.4 Setting中的设置部分 249
8.3开发Wi-Fi应用程序 250
8.3.1 WifiManager类 250
8.3.2在Android系统中控制Wi-Fi 254
8.3.3在Android系统中打开或关闭Wi-Fi网卡 262
第9章 在Android中开发RSS应用 267
9.1 RSS基础 268
9.1.1 RSS的用途 268
9.1.2 RSS阅读器 268
9.1.3 RSS的语法 269
9.2 SAX介绍 270
9.2.1 SAX的原理 270
9.2.2基于对象和基于事件的接口 271
9.2.3常用的接口和类 272
9.3开发一个RSS订阅程序 275
9.3.1实现界面布局文件 276
9.3.2实现主程序文件 278
9.4开发一个RSS阅读器 290
9.4.1建立实体类 290
9.4.2主程序文件ActivityMain.java 293
9.4.3实现ContentHandler 296
9.4.4主程序文件ActivityShowDescription.java 299
9.4.5主布局文件main.xml 300
9.4.6详情布局文件showdescription.xml 300
第10章 在Android中开发电子邮件应用 305
10.1使用Android的内置邮件系统 306
10.1.1 Android邮件客户端配置 306
10.1.2调用内置邮件系统在发送短信时实现E-mail通知 309
10.1.3调用内置邮件系统在来电时实现自动邮件通知 314
10.1.4调用内置邮件系统实现邮件发送 316
10.1.5调用内置Gmail发送邮件 321
10.1.6其他方法 325
10.2使用SmsManager收发邮件 327
10.2.1 SmsManager基础 327
10.2.2使用SmsManager发送短信 329
10.2.3解决Android邮件附件中文名乱码问题 335
10.3使用包commons-mail.jar和mail.jar 335
10.3.1使用commons-mail.jar发送邮件 335
10.3.2使用mail.jar接收邮件 339
10.3.3 Android中用commons-email.jar和mail.jar收发邮件 345
第11章 让网络和多媒体接轨 347
11.1 MediaPlayer视频技术详解 348
11.1.1 MediaPlayer基础 348
11.1.2 MediaPlayer的状态 348
11.1.3 MediaPlayer方法的有效状态和无效状态 351
11.1.4 MediaPlayer的接口 353
11.1.5 MediaPlayer的常量 353
11.1.6 MediaPlayer的公共方法 354
11.2 VideoView技术详解 355
11.2.1 VideoView的构造函数 355
11.2.2 VideoView的公共方法 356
11.3在Android中播放网络上的MP3 357
11.4在Android中下载在线铃声 365
11.5在Android中上传文件到远程服务器 371
11.6在Android中开发一个远程下载系统 375
11.6.1基础知识介绍 375
11.6.2具体实现 378
11.7在Android中开发一个网络视频播放器 383
11.7.1实现布局文件 384
11.7.2实现显示文本值文件 385
11.7.3主程序文件 385
11.8在Android中开发一个网络收音机 393
11.8.1基本思路 393
11.8.2演示代码 393
第12章 在Android中开发移动微博应用 397
12.1微博介绍 398
12.2微博开发技术介绍 399
12.2.1 XML-RPC技术 399
12.2.2 Meta Weblog API客户端 401
12.3在Android上开发移动博客发布器 401
12.3.1 XML请求 402
12.3.2常用接口 402
12.3.3具体实现 403
12.4详解腾讯Android版微博API 410
12.4.1源码和jar包下载 410
12.4.2具体使用 411
12.5详解新浪Android版微博API 415
12.5.1新浪微博图片缩放的开发实例 417
12.5.2添加分享到新浪微博 423
12.5.3通过Json对象登录新浪微博 428
12.5.4实现OAuth认证 430
第13章 流量统计系统 433
13.1流量统计基础 434
13.1.1 TrafficStats类 434
13.1.2 Android流量统计的基本思路 435
13.1.3读取Linux内核获取流量信息 438
13.2基于防火墙的流量统计 444
13.3适用Android系统的通用流量统计函数 447
第14章 流量监控系统 453
14.1实现流量监控功能的方式 454
14.2系统需求分析 454
14.3系统需求 455
14.4编写布局文件 455
14.4.1主界面布局文件main.xml 456
14.4.2帮助界面布局文件help_dialog.xml 458
14.5编写主程序文件 458
14.5.1实现服务勾选处理和模式设置功能 458
14.5.2实现帮助模块 470
14.5.3实现公共库函数 471
14.5.4实现广播模块 482
14.5.5删除针对软件的设置规则 483
14.5.6登录验证 483
14.5.7打开或关闭某一个实施控件 484
14.6系统测试 486
第15章 Android网络典型应用实践 489
15.1测试网络下载速度 490
15.2通过Handler实现异步消息处理 494
15.2.1实现HTTP通信和XML解析的演示 495
15.2.2使用Handler实现异步消息处理 501
15.3实现网络多线程断点下载 506
15.3.1实现原理 506
15.3.2具体实现 506
15.4判断当前网络GPRS和Wi-Fi的状态 519
15.4.1 ConnectivityManager类和Networklnfo类 520
15.4.2在程序启动时对网络状态进行判断 522
15.5 开启或关闭APN 523
第16章 开发一个邮件系统 527
16.1项目介绍 528
16.1.1项目背景 528
16.1.2项目目的 528
16.2系统需求分析 529
16.2.1构成模块 529
16.2.2系统流程 532
16.2.3功能结构图 533
16.2.4系统功能说明 533
16.2.5系统需求 534
16.3数据存储设计 535
16.3.1用户信息类 535
16.3.2 SharedPreferences 539
16.4具体编码 542
16.4.1欢迎界面 542
16.4.2系统主界面 545
16.4.3邮箱类型设置 553
16.4.4邮箱收取设置 556
16.4.5邮箱发送设置 562
16.4.6邮箱用户检查 567
16.4.7设置用户别名 573
16.4.8用户邮件编辑 576
16.5打包、签名和发布 586
16.5.1申请会员 586
16.5.2生成签名文件 589
16.5.3使用签名文件 595
16.5.4发布 597