第1章 拓展Android市场的Java应用
1.1 Android来了.................................. 2
1.2 Android操作系统结构................... 3
1.2.1 Android应用程序........... 4
1.2.2 Android应用程序开发平台.................. 4
1.2.3 Android的各类链接库 ... 5
1.2.4 Android运行时环境....... 6
1.2.5 Linux操作系统核心 ....... 7
1.3 OESF扩增功能............................. 7
1.3.1 OESF EM嵌入式项目.... 7
1.3.2 OESF针对的相关产业和设备.............. 8
1.3.3 OESF工作小组.............. 9
1.4 Android—Windows开发环境..................... 10
1.5 在 Android Market销售你的应用软件............... 12
1.5.1如何上传应用软件到 Android Market集市网站........ 13
1.5.2 如何从 Android Market集市网站下载应用软件........ 14
第2章 安装Android SDK开发环境
2.1 Android SDK开发环境................ 16
2.1.1 安装 Android SDK开发环境.............. 16
2.1.2快速了解安装 Android SDK开发环境程序............... 17
2.1.3符合安装Android SDK的必要条件... 17
2.2 安装 Android SDK开发环境........ 18
2.2.1 安装 Android SDK软件开发包 .......... 18
2.2.2 安装 Android开发工具 ADT............... 20
2.2.3 设置 Android开发工具 ADT............... 24
2.2.4 创建 Android虚拟设备 AVD .............. 25
2.2.5 验证 Android SDK软件开发环境....... 28
2.2.6 安装 Windows USB驱动程序............ 30
2.3 安装 Android SDK前必要的软件 32
2.3.1 安装 Java开发包 JDK . 33
2.3.2 安装 Eclipse集成开发环境 ................ 34
2.4更新到新版本 Android开发工具 ADT ............... 35
2.5 删除 Android开发工具 ADT ........ 36
2.6 Android—“Hello World !”验证.................... 36
2.6.1 生成 Android应用程序代码............... 36
2.6.2 执行 Android应用程序. 39
第3章 Android SDK开发平台应用
3.1 Android SDK开发平台应用 ........ 43
3.2 Android仿真器............................ 43
3.2.1 控制 Android仿真器.... 45
3.2.2 Android仿真器启动选项.................... 46
3.3 Android仿真器专用 SD存储卡... 47
3.4 Android系统调试工具—ADB .................... 48
3.4.1 adb命令的标准格式 .... 49
3.4.2 侦测 adb服务器的信息 49
3.4.3安装与移除应用程序 apk套件........... 50
3.4.4 Android操作系统命令行模式............. 51
3.4.5上传文件到 /sdcard或自 /sdcard下载文件............. 51
3.4.6 变更 TCP通信端口...... 52
3.4.7启动和关掉 adb服务器 52
3.4.8 Android仿真器的调试监控报告......... 52
3.5 Android调试监控服务系统 DDMS.................... 53
3.5.1 Eclipse开发环境提供 DDMS............. 53
3.5.2 ddms批处理文件......... 55
第4章 认识Android基本单元—活动程序Activity
4.1 Android应用程序组成................. 59
4.1.1活动程序—Activity ..................... 59
4.1.2活动程序—Activity范例............. 59
4.2执行状态迁移的生命周期(Lifecycle)............. 63
4.2.1 Android操作系统执行状态迁移的生命周期.............. 64
4.2.2活动程序—Activity执行状态迁移的生命周期范例..................... 66
4.3精通活动程序—Activity的控制功能.......... 69
4.3.1 finish() 方法................. 70
4.3.2 isfinishing() 方法.......... 70
4.3.3 onLowMemory() 方法.. 70
第5章 活动程序Activity的切换—意图方法Intent
5.1活动程序 Activity和意图方法 Intent ................. 72
5.1.1 Android如何切换显示窗体................ 72
5.1.2 Chat Activities应用程序.................... 73
5.2 建立 Chat Activities应用程序..... 74
5.2.1 Chat Activities应用程序—窗体布局................. 74
5.2.2 Chat Activities应用程序—资源.. 75
5.2.3 Chat Activities应用程序—Manifest.................. 76
5.3 Chat Activities应用程序实现...... 77
5.4 标准意图方法 Intent.................... 80
第6章 Android应用程序的Widget创作套件
6.1 Android应用程序的人机接口...... 84
6.1.1 视图(View).............. 84
6.1.2 视图组(ViewGroup)....... 84
6.2 Android应用程序窗体布局.......... 85
6.2.1 布局编辑器—Android Layout Editor.................. 85
6.2.2 资源编辑器—Android Resource Editor.............. 86
6.3 视图(View)范例...................... 86
6.3.1 按钮事件处理—Button............... 89
6.3.2 编辑框事件处理—EditText......... 93
6.3.3 时钟事件处理—AnalogClock/DigitalClock ....... 96
6.3.4 进度条事件处理—ProgressBar .. 98
6.3.5 日期和时间事件处理—DatePicker/TimePicker....................... 101
6.3.6 计时表事件处理—Chronometer ...................... 104
6.3.7 对话框事件处理—AlertDialog/Toast .............. 105
6.3.8 下拉列表事件处理—SpinnerSelect ................. 110
6.3.9 网格视图事件处理—GridView.. 112
6.3.10 视频播放事件处理 —Video ..... 114
6.3.11 相册事件处理 —Gallery .......... 116
6.3.12 拖动条事件处理 —RatingBar/SeekBar ......... 118
第7章 Android应用程序的Layout窗体布局
7.1 Android应用程序的窗体布局.... 122
7.1.1 表格布局—Table Layout........... 123
7.1.2 线性布局—Linear Layout ......... 124
7.1.3 相对布局—Relative Layout ...... 126
7.1.4 绝对布局—Absolute Layout ..... 127
7.1.5 框架布局—Frame Layout ......... 129
7.2 建立窗体布局 Layout文件........ 130
7.2.1 建立显示窗体 XML文件.................. 130
7.2.2 设计显示窗体上的布局.................... 130
7.3 显示窗体布局 Layout范例........ 131
7.3.1 表格布局范例—Table Layout ... 134
7.3.2 线性布局范例—Linear Layout .. 136
7.3.3 相对布局范例—Relative Layout ...................... 138
7.3.4 绝对布局范例—Absolute Layout..................... 140
7.3.5 窗体布局 Layout的范例程序........... 142
第8章 Android应用程序的Menu菜单
8.1 Android应用程序的 Menu菜单. 145
8.1.1 选项菜单—Option Menu .......... 145
8.1.2 上下文菜单—Context Menu..... 146
8.1.3 子菜单—Submenu.................... 146
8.2 规划选项菜单............................ 146
8.2.1 如何规划选项菜单 ..... 146
8.2.2 如何处理选项菜单的选项 ................ 147
8.2.3 处理选项菜单范例 ..... 148
8.3 规划上下文菜单 ........................ 150
8.3.1 如何规划上下文菜单.. 151
8.3.2 如何处理上下文菜单的选项............. 151
8.3.3 处理上下文菜单范例.. 152
8.4 规划子菜单................................ 154
8.4.1 如何规划子菜单......... 155
8.4.2 如何处理子菜单的选项.................... 155
8.4.3 处理子菜单范例......... 155
第9章 Android数据存储和数据公开—SQLite
9.1 Android数据存储和共享 ........... 159
9.2 实现共享优先数据方法—Shared Preferences ............... 159
9.2.1 共享优先数据存取方法.................... 160
9.2.2 应用程序范例—离开时存储优先数据.............. 165
9.3 数据库存储方法—SQLite Databases ...... 167
9.3.1 SQLite数据库添加、更新、删除、检索方法......... 170
9.3.2 SQLite数据库关联操作方法............ 176
9.4 内容提供器方法—Content Providers....... 182
9.4.1 内容提供器公开数据方法 ................ 185
9.4.2 SQLite应用程序改用 Content Provider来公开数据 ........................ 190
9.5 文件存储方法—Files.......... 198
9.5.1 文件写入、读出和拷贝方法 .............. 199
9.5.2 SQLite数据库和应用程序一起发布 .. 204
9.6 网络存储方法—Networks.. 206
第10章 认识Service服务程序
10.1 Android应用程序组成............. 219
10.1.1 服务程序 Service角色................... 219
10.1.2 广播接收器 Broadcast Receiver角色 ................... 219
10.2 服务程序 Service..................... 220
10.2.1 启动服务程序 Service.................... 221
10.2.2 服务程序 Service的执行状态迁移. 221
10.2.3 创建一个服务程序 Service............. 223
10.3 广播接收器 BroadcastReceiver..................... 223
10.3.1 实现广播事件 ........... 223
10.3.2 使用 BroadcastReceiver广播接收器 .................... 224
10.4 服务程序和广播接收器整合.... 225
第11章 Android应用程序国际化
11.1 Android国际化........................ 235
11.2 Android资源规划.................... 236
11.2.1 创建 Android资源.... 237
11.2.2 创建 Android多语言资源............... 237
11.3 Android多语言范例................. 238
第12章 Android的Web视图—WebView
12.1 Android的 Web视图............... 241
12.1.1 Android浏览器 WebView .............. 241
12.1.2 Android应用程序和 JavaScript互动.................... 241
12.2 浏览网页 WebView.loadUrl实现方法 ........... 241
12.3 浏览网页 WebView范例......... 243
12.3.1 直接下载 Yahoo或 Google网页 .... 246
12.3.2 输入网址再下载网页 249
12.3.3 WebView网页向前和向后浏览历史管理—Back/Forward ................... 251
12.3.4 WebView网页放大和缩小—Zoom in/Zoom out .......................... 255
12.4 触控网页 Motion Gesture........ 258
12.5 Android应用程序和 JavaScript脚本代码互操作方法.......... 261
12.5.1 JavaScript脚本代码调用 Android应用程序......... 262
12.5.2 JavaScript脚本代码的警告信息.... 263
12.5.3 Android应用程序调用 JavaScript脚本代码......... 264
12.6 JavaScript脚本代码互联范例. 266
12.6.1 JavaScript脚本代码调用 Android应用程序范例.. 268
12.6.2 JavaScript脚本代码的警告信息范例.................... 271
12.6.3 JavaScript脚本代码的语言翻译范例.................... 273
12.6.4 Android应用程序调用 JavaScript脚本代码范例.. 276
第13章 Android常驻程序—App Widget
13.1 Android的常驻程序 App Widget体验........... 280
13.1.1 调用常驻程序 App Widget............. 280
13.1.2 一般系统常驻程序和 Android系统常驻程序......... 281
13.2 Android常驻程序的可用功能.. 281
13.3 常驻程序的生命周期............... 282
13.4 建立 Android常驻程序方法..... 283
13.4.1 Android配置文件..... 284
13.4.2 常驻程序信息文件 ... 285
13.4.3 Layout窗体布局文件..................... 285
13.4.4 AppWidgetProvider常驻程序........ 286
13.4.5 常驻程序配置 Activity.................... 287
13.4.6 实现常驻程序生命周期—AppWidgetProvider ....................... 288
13.5 Android常驻程序范例............. 289
13.5.1 常驻程序生命周期—LifeCycle范例 .............. 291
13.5.2 指定间隔时间执行—SlideShow常驻程序范例............................. 295
13.5.3 指定间隔时间执行—WhatTimeIsItNow常驻程序范例 ........................ 296
13.5.4 指定时刻时执行—AlarmManagerSample常驻程序范例........................ 298
13.5.5 单击按钮时执行—ClickSample常驻程序范例....................... 301
13.6 采用自定义的 thread 来处理常驻程序范例... 304
13.7 采用 timer task方式来处理常驻程序范例..... 306
第14章 Android应用程序GPS位置和GoogleMaps
14.1 GPS位置和 GoogleMaps........ 309
14.1.1 GPS定位服务.......... 309
14.1.2 Google地图外部库.. 309
14.2 取得 GPS位置信息................. 309
14.2.1 LocationManager类 310
14.2.2 LocationListener接口.................... 310
14.2.3 Location类............... 311
14.2.4 LocationProvider类. 311
14.2.5 LocationGPS应用程序范例—GPS位置信息 311
14.2.6 在仿真器测试 LocationGPS应用程序范例........... 314
14.3 取得 Google地图外部库 ......... 316
14.3.1 开发 Google地图应用程序前的工作..................... 316
14.3.2 Google地图应用程序范例—从 Google地图服务系统获得地图................ 318
14.4 使用 MapView前先取得 Maps API Key ........ 320
14.4.1 使用 Maps API Key的重点 ............ 320
14.4.2 产生 keystore并取得认证指纹(MD5)码 .......... 320
14.4.3 经 Google网站的签署取得 Maps API Key............ 321
14.5 Google地图上贴上标记 .......... 323
14.5.1 Google地图应用程序范例—实现一个 ItemizedOverlay类...................... 323
14.5.2 Google地图应用程序范例—Google地图上贴上标记............................... 325
14.6 按 GPS位置来显示 Google地图................... 327
第15章 Android音频和视频
15.1 Android音频和视频................. 331
15.2 播放视频在窗体布局上—VideoView...... 332
15.3 播放音频和视频—MediaPlayer.............. 334
15.3.1 播放媒体来自本地资源.................. 334
15.3.2 播放媒体来自系统文件和数据流.... 335
15.4 播放媒体应用程序范例 MediaPlayer............. 335
15.4.1 MediaPlayerAudio应用程序范例... 338
15.4.2 MediaPlayerVideo应用程序范例... 342
15.5 播放 JET内容.......................... 349
15.6 捕捉音频内容—MediaRecorder............. 350
15.7 Android文字到语音转换—TextToSpeech..................... 351
第16章 Android 2D绘图和3D OpenGL绘图
16.1 Android操作系统的绘图 ......... 355
16.1.1 二维绘图.................. 355
16.1.2 三维绘图.................. 355
16.2 绘制二维图形的方法............... 355
16.3 图像显示对象—Drawable ........ 356
16.3.1 从项目资源来创建图像 .................. 356
16.3.2 从项目资源来创建图像的范例....... 358
16.3.3 从 XML文件来定义图像 ................ 359
16.3.4 从 XML文件定义图像—TransitionDrawable范例................... 361
16.3.5 形状图像绘制对象—ShapeDrawable ............ 362
16.4 创建二维动画—Animation ..................... 364
16.4.1 补间动画绘制对象—Tween Animation .......... 364
16.4.2 补间动画绘制对象—Tween Animation范例.. 367
16.4.3 帧动画绘制对象—Frame Animation .............. 371
16.4.4 帧动画绘制对象—Frame Animation范例...... 372
16.5 直接在画布描绘图形—Canvas .............. 376
16.5.1 画布描绘图形—View.............. 376
16.5.2 画布描绘图形—View范例...... 377
16.5.3 画布高速描绘—SurfaceView.. 379
16.6 3D OpenGL绘图..................... 380
第17章 Android高速描绘—SurfaceView
17.1 Android高速描绘 SurfaceView ..................... 382
17.1.1 高速描绘画布 SurfaceView方法—SurfaceView.getHolder............................ 382
17.1.2 高速描绘画布 SurfaceView方法—SurfaceHolder.Callback ............................ 382
17.1.3 SurfaceView类和方法................... 383
17.1.4 各类描绘方式和方法 ....... 384
17.1.5 SurfaceView类的按键输入事件 .... 386
17.2 高速描绘 SurfaceView范例 .... 386
17.2.1 高速描绘画布 SurfaceView方法—SurfaceView.getHolder范例....................... 388
17.2.2 高速描绘画布 SurfaceView方法—SurfaceHolder.Callback范例...................... 390
17.2.3 平滑锯齿方法—AntiAlias范例 ...................... 392
17.2.4 描绘方式和方法的范例—简单 Game............. 395
17.2.5 描绘画布的保存和回复范例—Canvas方法... 405
17.2.6 按键事件处理范例—Key ........ 408
17.2.7 触控和轨迹球事件处理范例—Touch & Trackball ................... 410
17.2.8 透明事件范例—Transparent... 412
17.2.9 半透明事件范例—Translucent 415
第18章 Android动态壁纸—Live Wallpaper
18.1 Android动态壁纸 Live Wallpaper.................. 421
18.1.1 动态壁纸 Live Wallpaper架构....... 421
18.1.2 WallpaperService和 WallpaperService.Engine方法 ........................ 421
18.2 Android动态壁纸设置............. 422
18.2.1 简单动态壁纸 Live Wallpaper设置 422
18.2.2 调整参数的动态壁纸 Live Wallpaper设置............ 424
18.3 Android动态壁纸应用程序设计 .................... 428
18.3.1 简单动态壁纸 Live Wallpaper应用程序设计 ........ 428
18.3.2 调整参数的动态壁纸 Live Wallpaper应用程序设计..................... 430
18.4 Android动态壁纸应用程序范例—火焰之舞 .................. 430
18.5 Android动态壁纸应用程序范例—动画参数设置........... 434
18.6 Android动态壁纸应用程序范例—照片自动切换........... 439
18.7 Android动态壁纸应用程序范例—触控切换照片........... 444
第19章 Android蓝牙通信—Bluetooth
19.1 Android蓝牙通信 Bluetooth.... 450
19.1.1 Android蓝牙通信 Bluetooth基本架构.................. 450
19.1.2 定义蓝牙通信 Bluetooth权限—Permission... 451
19.2 建立蓝牙通信 Bluetooth.......... 451
19.2.1 设置蓝牙通信—Setting up Bluetooth............ 452
19.2.2 发现蓝牙设备—Finding Devices.................... 453
19.2.3 连接蓝牙设备—Connecting Devices............. 455
19.2.4 管理蓝牙连接—Managing a Connection ....... 459
第20章 Android触控屏幕—Gesture
20.1 Android触控屏幕 Gesture....... 463
20.2 Android触控屏幕 Gesture处理顺序............. 464
20.3 Android触控屏幕 Gesture范例..................... 465
第21章 Android感应检测—Sensor
21.1 Android感应检测 Sensor ........ 469
21.2 Android感应检测管理—SensorManager...................... 469
21.3 Android加速度感应检测—Accelerometer .................... 471
21.4 Android磁场感应检测—Magnetic ......... 472
21.5 Android方位感应检测—Orientation ...... 472
21.6 Android温度感应检测—Temperature.... 473
21.7 Android感应检测 Sensor范例 .... 473
21.7.1 做一个指北针—Compass范例...................... 475
21.7.2 Android方位感应检测—Orientation范例...... 478
21.7.3 Android加速度感应检测—Accelerometer范例....................... 483
21.7.4 Android磁场感应检测—Magnetic范例......... 487
21.7.5 Android温度感应检测—Temperature范例... 490
第22章 Android OS 2.3姜饼报到
22.1 Android OS 2.3姜饼 Gingerbread 版本 ........ 495
22.1.1 更简单的接口与更容易的操作....... 495
22.1.2 更直觉的文字输入与更快的操作速度................... 495
22.1.3 多点触控输入........... 496
22.1.4 强化文字复制与剪贴 .........496
22.1.5 增强的电源管理功能 497
22.1.6 对应用程序的控制 ... 497
22.1.7 内建网络电话 VOIP 的 SIP stack... 498
22.1.8 支持近距离无线通信 NFC ............. 498
22.1.9 下载应用程序管理 ... 499
22.1.10 提供多个相机,可选择前后相机拍摄 ................. 499
22.1.11 加强手机执行游戏的性能 ............ 499
22.1.12 加入陀螺仪和数种新传感器的 API...................... 499
22.1.13 加强多媒体音场效果.................... 500
22.1.14 支持新的媒体格式 .......... 500
22.2 Android OS 2.3提供给开发人员的新功能..... 500
22.2.1 加强开发游戏软件的功能 .............. 501
22.2.2 提供丰富的多媒体功能.................. 502
22.2.3 提供通信的新方法和格式 .............. 502
22.3 Android OS 2.3版本新的类包.......... 503
第23章 Android手机必备的照相机
23.1 Android照相机原理................. 505
23.1.1 信息配置文件“Androidmanifest.xml” .................... 505
23.1.2 相机应用程序拍摄的步骤 .............. 505
23.2 设计一个照相机软件............... 507
23.2.1 预览相机所拍摄影像 .........507
23.2.2 相机自动焦聚和拍摄照片 .............. 509
23.2.3 配置相机特性的参数 .........511
23.2.4 贴图在拍摄的影像上 .........511
23.3 Android OS 2.3 所增加照相机新功能............ 512
23.3.1 读取实体相机的号码 .........512
23.3.2 读取实体相机的信息 ......... 513
23.3.3 开启指定的实体相机 .........513
23.4 照相机软件基本操作范例........ 513
23.4.1 Camera 应用程序范例—Camera Preview..... 515
23.4.2 Camera应用程序范例—Camera Auto Focus 522
23.4.3 Camera应用程序范例—Camera Parameters Setting.................. 526
23.4.4 Camera应用程序范例—Over on Photo ........ 535
23.5 设计自己的相机应用软件范例. .........537
第24章 设计Android网络电话VoIP-SIP
24.1 网络电话 VoIP......................... 544
24.1.1 第三方开发公司提供的网络电话 VoIP.................. 544
24.1.2 网络电话 VoIP基本概念 ................ 544
24.1.3 网络电话 VoIP 的运作方式............ 546
24.2 采用 SIP 设计 Android 网络电话 VoIP .......... 547
24.2.1 信息设置文件 “Androidmanifest.xml” .................... 548
24.2.2 采用 SIP 设计网络电话 VoIP 的方法 .................... 548
24.3采用 SIP开发 Android无线电对讲机应用程序范例 ............. 549
附录A Android应用程序范例光盘使用说明
A.1 范例光盘 ................................... 565
A.2 Android SDK开发环境............. 565
A.3 进入 Eclipse集成开发环境 ....... 565
A.4 Android应用程序范例............... 566
A.4.1 生成 Android应用程序的项目......... 566
A.4.2 编译和执行 Android应用程序范例.. 568
· · · · · · (
收起)