Android 2.3应用开发实战

更多详情

内容简介: 《Android 2.3应用开发实战》以 Android操作系统架构为经,以开发 Android应用程序为纬,介绍 Android应用程序开发实战技术,将会使开发人员学习到 Android操作系统的架构和原理,并最快掌握 Android的开发技能。书中完整介绍了 Android 2.3版的功能,相关范例程序所涉及的主题范围广泛,且有清楚的解说。
《Android 2.3应用开发实战》包括 Android介绍、开发环境、应用开发平台、活动程序 Activity、意图方法 Intent、Widget、Layout窗体布局、Menu菜单、SQLite、Service服务程序、应用程序国际化、WebView、App Widget、GPS位置和 GoogleMaps、音频和视频、2D绘图和 3D OpenGL绘图、SurfaceView、动态壁纸、蓝牙通信、触控、感应检测、Android 2.3特性、照相机、VoIP等内容。
《Android 2.3应用开发实战》面向 Android初学者、想系统掌握 Android开发技能的开发人员,以及 Android开发的项目管理人员。

目录: 《Android 2.3应用开发实战》
第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开发环境提供 DDMS53
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 Providers182
9.4.1 内容提供器公开数据方法 185
9.4.2 SQLite应用程序改用 Content Provider来公开数据 190
9.5 文件存储方法—Files198
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 创建一个服务程序 Service223
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 Widget280
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 播放媒体应用程序范例 MediaPlayer335
15.4.1 MediaPlayerAudio应用程序范例 338
15.4.2 MediaPlayerVideo应用程序范例 342
15.5 播放 JET内容 349
15.6 捕捉音频内容—MediaRecorder350
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.getHolder382
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 描绘方式和方法的范例—简单 Game395
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蓝牙通信 Bluetooth450
19.1.1 Android蓝牙通信 Bluetooth基本架构 450
19.1.2 定义蓝牙通信 Bluetooth权限—Permission 451
19.2 建立蓝牙通信 Bluetooth451
19.2.1 设置蓝牙通信—Setting up Bluetooth 452
19.2.2 发现蓝牙设备—Finding Devices 453
19.2.3 连接蓝牙设备—Connecting Devices455
19.2.4 管理蓝牙连接—Managing a Connection 459
第20章 Android触控屏幕—Gesture
20.1 Android触控屏幕 Gesture463
20.2 Android触控屏幕 Gesture处理顺序464
20.3 Android触控屏幕 Gesture范例 465
第21章 Android感应检测—Sensor
21.1 Android感应检测 Sensor 469
21.2 Android感应检测管理—SensorManager469
21.3 Android加速度感应检测—Accelerometer 471
21.4 Android磁场感应检测—Magnetic 472
21.5 Android方位感应检测—Orientation 472
21.6 Android温度感应检测—Temperature473
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 加入陀螺仪和数种新传感器的 API499
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 网络电话 VoIP544
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

序言: 美国Google公司在 2010年 1月 5日发布了 Android OS 2.1,提供了一个丰富功能的操作系统。同时美国Google公司和HTC紧密合作,推出了 Google自己品牌的移动手机 Super Phone “nexus one”,“nexus one”的操作系统就是采用Android OS 2.1。Android版本发布非常密集,让我们目不暇接,在2010年12月6日Google公司推出 Android OS 2.3版本,代码是Gingerbread。在2010年的年尾,Google公司配合三星代工的Nexus S智能型手机上市。从那时候起,装载Google开放源代码的免费操作系统Android智能手机数量,超过市场火爆的苹果iPhone,成为全球第二大手机操作系统。这是Google公司继第一波网络革命成为第一大门户网站后,Google在第二波移动通讯革命中,再次立下新的里程碑。
当快速无线通信网络时代来临时,是什么操作系统会主导移动设备呢? Microsoft会不会承袭个人计算机操作系统霸主的身份,再度蚕食移动设备操作系统的市场呢?观察这几年来苹果公司和 Google公司在移动手机上的努力推广,看起来移动设备的操作系统将会进入战国时代。新科技如雨后春笋,新的移动设备和无线因特网将会大幅度地改变人们的作息和工作形态,像手机般大小的移动设备不断地推陈出新,比如eeePC、iPad、SmallBook和电子阅读书籍(eReader Book)的移动设备;无线因特网也会进入快速的WiMAX或3.9G的通信服务时代;再加上云计算系统的推广;一个优秀、功能强大、可以弹性规划的操作系统将会主导移动设备的未来发展。Android操作系统将是个强劲的对手,也会有机会成为主导移动设备的操作系统。学习Android操作系统架构和开发Android应用程序的知识,一定会让你在下一代网络(Next Generation Network,NGN)的潮流中如鱼得水、如虎添翼,发展和开创出一条崭新的路。
计算机设备从桌面计算机发展到移动笔记本电脑,因特网也从有线网络发展到无线网络,网络无所不在的时代来了,移动设备的时代来了。为了满足任何一台设备在任何地点、任何时间都可以使用相同的操作接口来获取相同的信息(Ubiquitous),将会有更多更漂亮的创意、革命性产品和技术推陈出新,鼠标会不会被触控屏幕的手指操作功能替代了呢?移动设备需要什么样的输入和输出新方式呢?电信网络会有突破性的革命吗?通信资费会有机会大幅度降低吗?这一切一切的变化将会牵动移动设备的未来发展。Android操作系统是针对移动设备和嵌入式设备所设计的操作系统,所以在蓝牙通信、触控屏幕、感应侦测和无线网络功能都不断地改进,提供新的功能。学习和选择 Android操作系统来开发应用程序应会是明智之举。
“开放嵌入式软件基金会”(Open Embedded Software Foundation,OESF)看到Google使用在手机上开放的Android操作系统,希望通过Android操作系统的推广,来大幅度降低开发嵌入式系统所需要的投资成本,提高软件开发效率以及开拓新的市场。尤其针对其他嵌入式系统所需要软件增加和修订了许多新的功能,让开发STB、VoIP电话、车载设备、医疗设备和数字生活设备的厂商都可以采用Android操作系统来开发,比如提供了 IP Phone Extension(SIP/RTP stack)。因此采用Android操作系统可以在不同的硬件平台上执行,且OS是免费的,大家可以有更多的时间和精力专注于开发更具创意的应用软件,进而控制成本,增加移动设备的多样用途。我们相信,未来会有很多嵌入式设备都会利用Android操作系统的开发环境来开发各种各样的应用程序。
管理人员和开发人员都要注意Android操作系统的发展方向和它所提供的解决方案会如何来改变业界竞争的态势,如人饮水,冷暖自知。
Android OS 2.3 版本提供了许多提升移动设备的新功能,比如陀螺仪可以侦测行动方向;针对开发整合手机钱包的功能,可以支持近距离无线通信技术的 NFC( Near Field Communication);也提供了多相机镜头的移动相机 Camera 和会话启动协议(Session Initiation Protocol,SIP)Stack 的网络电话VoIP功能。
本书以Android操作系统架构为经,而以开发Android应用程序为纬,介绍如何开发Android应用程序,读者可以学习Android OS 2.3所提供的方法,自己来开发Android应用程序,同时可以学习到Android操作系统的架构和原理。本书以Android OS 2.3来介绍和提供相关的范例程序,范围更宽广,解说更完整。比如第18章“Android动态壁纸(Live Wallpaper)”是从Android OS 2.1开始提供的新功能;第24章开发网络电话VoIP所需要的会话启动协议SIP Stack 功能是Android OS 2.3 以后版本才提供的新功能。
每一章的主题都安排进阶学习,以满足不同读者的需要。每一章的主题依下列顺序编写:
.概念介绍
.操作系统结构和类库说明
.开发应用程序的方法
.应用程序范例说明
因Android操作系统是以一个主要线程为基础来执行Android相关的组件,这些重要组件有活动程序(Activity)、服务程序(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider),所以编写Android应用程序不仅要了解Java语言,而且对Android操作系统架构和类库也要十分熟悉,才能开发出优秀的程序。
本书共24章,逻辑上分成4篇,第一篇(第1~8章)是介绍基础功能,读完这一篇你会了解Android操作系统的基本运作单元活动程序(Activity)和活动程序彼此间的互动方式,采用意图(Intent)来切换程序和显示窗体,同时分门别类地详细说明开发 Android应用程序常用的创作套件(Widget)、窗体布局(Layout)和操作菜单(Menu)。第二篇(第 9~13章)介绍进阶功能,完整地说明Android操作系统的架构,包括服务程序(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)如何工作,同时介绍Google提供的本地数据库系统 SQLite和Web视图WebView的强大功能,也会学习到如何设置Android常驻程序(App Widget)和如何将Android应用程序国际化,提供多国语言的应用程序。第三篇(第 14~18章)是关于网页应用和多媒体,介绍应用程序如何使用 Google所提供强大的地图库及其功能,音频和视频播放程序,各种绘图工具和编写游戏软件常用到的高速描绘(SurfaceView),同时你也会学习到从Android OS 2.1版开始新提供的Android动态壁纸。第四篇(第19~24章)是关于移动设备功能,包括有蓝牙通信Bluetooth、手势触控 Gesture、感应侦测Sensor、移动相机Camera和网络电话VoIP。
最后,仅以此书献给爱我以及我所爱的人,尤其是要感谢我太太长年来对我的支持和爱。
林城