第1章 熟悉而又陌生的Android 1
1.1 这几年的那些事 1
1.2 来到智能手机世界这个大舞台 2
1.2.1 何谓智能手机 2
1.2.2 百家争鸣的时代 2
1.3 不只是群狼战术这点优势 3
1.3.1 优点一——系出名门 3
1.3.2 优点二——强大的开发团队 4
1.3.3 优点三——诱人的奖励机制 4
1.3.4 优点四——开源 4
1.4 搭建Android应用开发环境 5
1.4.1 安装Android SDK的系统要求 5
1.4.2 安装JDK、Eclipse和Android SDK 5
1.4.3 设定Android SDK Home 13
1.4.4 验证理论 14
1.4.5 创建Android虚拟设备(AVD) 15
1.4.6 启动AVD模拟器 16
第2章 时刻准备着 18
2.1 简析Android安装文件 18
2.1.1 Android SDK目录结构 18
2.1.2 android.jar及内部结构 19
2.1.3 阅读SDK文档需要技巧 20
2.1.4 不简单的SDK工具 22
2.2 实例教学 23
2.3 Android系统架构剖析 27
2.3.1 Android体系结构介绍 27
2.3.2 Android应用工程文件的组成 30
2.3.3 应用程序的生命周期 33
第3章 必须具备的网页开发技术 36
3.1 熟悉的HTML 36
3.1.1 HTML初步 36
3.1.2 文字的字体 37
3.1.3 使用标示标记 40
3.1.4 必不可少的区域和段落标记 41
3.1.5 表格格外重要 43
3.1.6 表单和动态相关 46
3.2 强大的XML技术 49
3.2.1 XML概述 50
3.2.2 语法是根基 50
3.2.3 获取XML文档 51
3.3 CSS化妆 53
3.3.1 基本语法 53
3.3.2 CSS属性 54
3.3.3 没有规矩,不成方圆 56
3.4 JavaScript能让你动起来 57
3.4.1 JavaScript的语法 57
3.4.2 JavaScript运算符 58
3.4.3 JavaScript中的循环语句 59
3.4.4 JavaScript函数 61
3.4.5 JavaScript事件 64
第4章 HTML 5强势来袭 66
4.1 把握未来的风向标 66
4.1.1 漫漫发展历程 66
4.1.2 无与伦比的体验 67
4.2 竟然可以处理视频 67
4.2.1 神奇的<video>标记 68
4.2.2 <video>标记的属性 69
4.3 音频也没有问题 73
4.3.1 <audio>标记 73
4.3.2 <audio>标记的属性 74
4.4 一发不可收 77
4.4.1 使用<canvas>标记 77
4.4.2 HTML DOM Canvas对象 78
4.4.3 Canvas小试牛刀 79
4.5 Web存储是更加震撼的功能 84
4.5.1 什么是Web存储 84
4.5.2 深远的影响 84
4.5.3 HTML 5中的两种存储方法 85
4.6 全新的表单 87
4.6.1 全新的Input类型 87
4.6.2 全新的表单元素 91
4.6.3 全新的表单属性 94
第5章 开始工作 101
5.1 准备工作 101
5.1.1 需要Web空间支持 101
5.1.2 一个例子 103
5.1.3 控制页面的缩放 107
5.2 添加CSS装扮 108
5.2.1 第一步:设置基本的样式 108
5.2.2 第二步:添加视觉效果 110
5.3 JavaScript让页面更加精彩 111
5.3.1 有用的jQuery框架介绍 111
5.3.2 使用jQuery后更加绚丽 113
5.4 AJAX带来了一片绚丽 115
5.5 有动画后会更加美丽 122
5.5.1 感谢jQTouch的帮助 122
5.5.2 一个简单应用 122
第6章 HTTP通信处理 131
6.1 先谈谈Java中的网络通信 131
6.1.1 Java网络通信基础 131
6.1.2 Socket和ServerSocket天生是一对 134
6.1.3 是结束的时候了 139
6.2 HTTP通信基础 143
6.2.1 HTTP概述 143
6.2.2 协议功能 144
6.2.3 Android中的HTTP 144
6.3 Apache接口是一个中介 145
6.3.1 Apache接口基础 145
6.3.2 Apache的那点事 146
6.3.3 Apache应用要点 153
6.4 标准中介——Java接口 162
6.4.1 IP地址 162
6.4.2 URL地址 163
6.4.3 套接字Socket类 164
6.4.4 URLConnection类 165
6.4.5 在Android中使用java.net 166
6.5 使用Android网络接口 168
6.6 在手机屏幕中传递HTTP参数 169
6.6.1 设计思路 169
6.6.2 具体实现 169
第7章 处理URL地址 174
7.1 URL类 174
7.1.1 最根本的URL类 174
7.1.2 URLConnection在Android 183
7.2 具有完全访问能力的HttpURLConnection 191
7.2.1 HttpURLConnection的功能 191
7.2.2 在Android中使用HttpURLConnection 194
第8章 WebKit称王 201
8.1 WebKit的目录结构 201
8.2 庖丁解牛WebKit 203
8.2.1 整体框架结构 203
8.2.2 顶端的Java层 203
8.2.3 底部的C层 206
8.3 操作WebKit三步走 208
8.3.1 第一步:WebKit初始化 208
8.3.2 第二步:载入数据 210
8.3.3 第三步:刷新绘制 211
8.4 WebView是重中之重 212
8.4.1 分析WebView 212
8.4.2 WebView的功能 213
8.4.3 实现WebView的两种方式 214
8.4.4 WebView的几个常见功能 217
8.4.5 浏览网页的演练 225
8.4.6 加载HTML程序的演练 227
8.4.7 加载JavaScript程序的演练 228
第9章 神奇的Wi-Fi 233
9.1 微服私访Wi-Fi系统 233
9.1.1 在Android中打开Wi-Fi 233
9.1.2 分析层次结构 234
9.1.3 寻找差异 235
9.2 漫漫分析源码路 236
9.2.1 本地部分源码是幕后英雄 236
9.2.2 JNI中介部分 240
9.2.3 高高在上的Java框架部分 241
9.2.4 可见的设置部分 243
9.3 我们的任务 244
9.3.1 强大的WifiManager类 244
9.3.2 开始行动吧 248
第10章 开发蓝牙应用程序 260
10.1 究竟何谓蓝牙 260
10.1.1 漫漫发展历程 260
10.1.2 蓝牙的特点 260
10.1.3 Android中的蓝牙 261
10.2 继续深入到底层 261
10.2.1 蓝牙层次结构 261
10.2.2 Android平台中的蓝牙和Linux中的蓝牙的差异 263
10.3 分析源码是深入学习开源的最佳途径 264
10.3.1 初始化蓝牙芯片 264
10.3.2 蓝牙服务 265
10.3.3 管理蓝牙电源 266
10.4 离不开的类 266
10.4.1 BluetoothSocket类 266
10.4.2 BluetoothServerSocket类 267
10.4.3 BluetoothAdapter类 268
10.4.4 BluetoothClass.Service类 275
10.4.5 BluetoothClass.Device.Major类 276
10.4.6 BluetoothClass.Device类 276
10.4.7 BluetoothClass类 277
10.5 开始应用 279
10.5.1 使用BluetoothAdapter类 279
10.5.2 使用BluetoothSocket类 281
10.6 有用的总结 284
10.7 开发一个遥控器程序 289
第11章 邮件让世界变小了 299
11.1 最简单的开发邮件应用的办法 299
11.1.1 配置Android邮件客户端 299
11.1.2 在发送短信时实现E-mail邮件通知 302
11.1.3 来电时自动邮件通知 306
11.1.4 一个简易邮件发送系统 308
11.1.5 调用内置Gmail发送邮件 313
11.1.6 其他处理邮件的方法 317
11.2 用SmsManager类收发邮件 319
11.2.1 何谓SmsManager 319
11.2.2 一个简单的邮件发送程序 321
11.3 寻找外援 327
11.3.1 使用commons-mail.jar发送邮件 327
11.3.2 使用mail.jar和activation.jar实现邮件的接收和发送 330
11.3.3 在Android中用commons-email.jar和mail.jar实现邮件收发 337
第12章 RSS是来自网络的力量 339
12.1 认识RSS 339
12.1.1 RSS的用途和阅读器介绍 339
12.1.2 学习RSS语法 340
12.2 学习SAX技术 341
12.2.1 SAX的原理 341
12.2.2 基于对象和基于事件的接口 342
12.2.3 常用的接口和类 343
12.3 开发一个RSS程序 346
第13章 Android网络典型应用实践 362
13.1 在线播放MP3 362
13.2 远程下载手机铃声 369
13.3 上传文件到远程服务器 376
13.4 远程下载系统 380
13.4.1 需要了解APK 380
13.4.2 具体实现 383
13.5 开发微博客户端 389
13.5.1 基础知识介绍 389
13.5.2 微博开发技术 390
13.5.3 具体实现 391
第14章 网络视频播放器系统 399
14.1 MediaPlayer视频技术 399
14.1.1 MediaPlayer基础 399
14.1.2 MediaPlayer的状态 399
14.1.3 接口 402
14.1.4 常量 403
14.1.5 公共方法 403
14.2 Video View也很重要 405
14.2.1 构造函数 405
14.2.2 公共方法 405
14.3 网络视频播放器系统 407
14.3.1 实现布局文件 407
14.3.2 主程序文件 408
第15章 综合邮件系统 417
15.1 项目介绍 417
15.1.1 项目背景介绍 417
15.1.2 项目目的 417
15.2 系统需求分析 418
15.2.1 构成模块 418
15.2.2 系统流程 420
15.2.3 功能结构图 420
15.2.4 系统功能说明 421
15.2.5 系统需求 421
15.3 数据存储设计 421
15.3.1 用户信息类 422
15.3.2 SharedPreferences类 426
15.4 具体编码 428
15.4.1 欢迎界面 429
15.4.2 系统主界面 432
15.4.3 邮箱类型设置 440
15.4.4 邮箱收取设置 443
15.4.5 邮箱发送设置 449
15.4.6 邮箱用户检查 455
15.4.7 设置用户别名 460
15.4.8 用户邮件编辑 464
15.5 辛苦的总结 471
第16章 RSS阅读器系统 472
16.1 实现流程 472
16.2 具体实现 472
16.2.1 实体类 473
16.2.2 主程序文件Main.java 476
16.2.3 实现ContentHandler接口 478
16.2.4 主程序页面ShowDescription.java 481
16.2.5 主布局页面main.xml 483
16.2.6 信息详情布局页面showdescription.xml 483
第17章 流量监控系统 486
17.1 流量统计基础 486
17.1.1 TrafficStats类 486
17.1.2 总结的流量统计函数 487
17.2 网络流量防火墙 491
17.2.1 系统需求分析 492
17.2.2 具体系统需求 492
17.2.3 编写布局文件 493
17.2.4 编写主程序文件 495
第18章 打包、签名和发布 527
18.1 申请会员 527
18.2 生成签名文件 529
18.3 使用签名文件 535
18.4 发布 538