新書推薦:
《
无法忍受谎言的人:一个调查记者的三十年
》
售價:NT$
290.0
《
战争社会学专论
》
售價:NT$
540.0
《
剑桥意大利戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
740.0
《
教育何用:重估教育的价值
》
售價:NT$
299.0
《
理想城市:环境与诗性
》
售價:NT$
390.0
《
逆风翻盘 危机时代的亿万赢家 在充满危机与风险的世界里,学会与之共舞并找到致富与生存之道
》
售價:NT$
625.0
《
工业互联网导论
》
售價:NT$
445.0
《
孤独传:一种现代情感的历史
》
售價:NT$
390.0
|
內容簡介: |
Android系统是目前最为流行的智能手机操作系统。为了帮助开发人员快速掌握 Android开发技术,获取更好的就业机会,作者基于 Android SDK 5.1(API Level 22)编写了本书。
本书分为 14章,主要包括 Android 5系统发展历史、系统架构、应用程序框架、界面开发、电话短信应用、多媒体开发、数据存储、网络编程、位置服务、绘图与计算、国际化、企业应用以及应用程序发布等内容。本书在讲解过程中穿插大量的实例,以帮助读者更好地理解 Android开发方法和技巧,使读者进一步巩固所学的知识,提高综合实战能力。
本书适合 Android移动应用开发初学者,也可以作为高等院校和培训学校相关专业的师生教学参考书。
|
目錄:
|
目 录
第1章 Android系统概述..................................................................... 1
1.1
智能手机.................................................................................................... 1
1.1.1 什么是智能手机......................................................................... 1
1.1.2 智能手机操作系统..................................................................... 2
1.2
什么是Android........................................................................................ 4
1.2.1
Android的历史........................................................................... 4
1.2.2
Android的发展........................................................................... 5
1.2.3
Android的优点........................................................................... 6
1.3
Android系统架构.................................................................................. 7
1.3.1 应用程序层(Applications).................................................. 8
1.3.2 应用程序框架层(Application Framework)....................... 8
1.3.3 系统库(Libraries)................................................................... 8
1.3.4
Android运行环境(Android Runtime)............................... 9
1.3.5
Linux内核(Linux Kernel)..................................................... 9
1.4
Android5新特性介绍............................................................................... 9
1.4.1 全新的Material design设计.................................................. 10
1.4.2 支持64位ART虚拟机............................................................. 10
1.4.3 全新的通知设计....................................................................... 11
1.4.4 以大屏幕呈现............................................................................ 11
1.4.5 以文档为中心............................................................................ 12
1.4.6 改进连接性能............................................................................ 12
1.4.7 高性能图形................................................................................ 12
1.4.8 功能更强的音频处理............................................................... 13
1.4.9 进一步完善的摄像头和视频处理......................................... 14
1.4.10 配置文件.................................................................................. 14
1.4.11 屏幕截图和共享..................................................................... 15
1.4.12 新型传感器.............................................................................. 15
1.4.13
Chromium WebView............................................................... 15
1.4.14 辅助功能和输入..................................................................... 16
1.4.15 可构建低电耗应用................................................................. 16
1.5
小结........................................................................................................... 16
1.6
思考题...................................................................................................... 17
第2章
搭建Android开发环境........................................................... 18
2.1
系统需求.................................................................................................. 18
2.2
软件安装.................................................................................................. 18
2.2.1
JDK的安装................................................................................ 18
2.2.2
Android SDK............................................................................. 19
2.2.3
Eclipse 和 ADT........................................................................ 20
2.2.4 创建AVD................................................................................... 24
2.2.5
AVD与真机的区别.................................................................. 24
2.3
Android SDK介绍................................................................................. 25
2.3.1
Android SDK目录结构........................................................... 25
2.3.2
Android.jar................................................................................. 27
2.3.3
Android API核心包................................................................. 27
2.3.4
Android API扩展包................................................................. 28
2.4
创建第一个Android应用程序........................................................... 28
2.4.1 创建HelloAndroid工程.......................................................... 28
2.4.2 编写代码.................................................................................... 29
2.4.3 运行应用程序............................................................................ 30
2.4.4 工程文件结构解析................................................................... 31
2.5
调试程序.................................................................................................. 32
2.5.1 设置断点.................................................................................... 32
2.5.2 调试............................................................................................. 33
2.6
小结........................................................................................................... 34
2.7
思考题...................................................................................................... 34
第3章
Android应用程序结构............................................................ 35
3.1
应用程序基本组成................................................................................. 35
3.1.1
Activity....................................................................................... 35
3.1.2 Service......................................................................................... 35
3.1.3 BroadcastReceiver.................................................................... 36
3.1.4
ContentProvider........................................................................ 36
3.1.5 Intent........................................................................................... 36
3.2
Activity..................................................................................................... 36
3.2.1
Activity的生命周期................................................................ 37
3.2.2
Activity的创建......................................................................... 39
3.2.3 启动Activity............................................................................. 40
3.2.4 关闭Activity............................................................................. 41
3.2.5
Activity数据传递..................................................................... 41
3.3
资源........................................................................................................... 43
3.4
Manifest文件.......................................................................................... 43
3.5
App Widgets........................................................................................... 46
3.5.1 基础知识.................................................................................... 46
3.5.2 在Manifest文件中声明App Widget.................................. 47
3.5.3 增加AppWidgetProviderInfo元数据.................................. 47
3.5.4 创建App Widget布局............................................................ 48
3.5.5 为App Widget添加边界........................................................ 49
3.5.6 使用AppWidgetProvider类.................................................. 49
3.5.7 接收App Widget的广播........................................................ 51
3.5.8 创建App Widget的配置Activity........................................ 51
3.5.9 使用配置Activity对App Widget进行更新...................... 52
3.6
进程和线程.............................................................................................. 53
3.6.1 进程(Processes).................................................................. 53
3.6.2 线程(Threads)...................................................................... 55
3.6.3 线程安全方法............................................................................ 58
3.6.4 进程间的通信............................................................................ 58
3.7
小结........................................................................................................... 59
3.8
思考题...................................................................................................... 59
第4章 Android GUI开发................................................................... 60
4.1
View和ViewGroup................................................................................. 60
4.2
使用XML定义视图.............................................................................. 61
4.3
布局........................................................................................................... 64
4.3.1 FrameLayout.............................................................................. 65
4.3.2 LinearLayout.............................................................................. 67
4.3.3 RelativeLayout........................................................................... 70
4.3.4 TableLayout............................................................................... 72
4.3.5 AbsoluteLayout........................................................................ 74
4.3.6 WebView.................................................................................... 76
4.4
常用Widget组件................................................................................... 78
4.4.1 创建Widget组件实例............................................................ 78
4.4.2 按钮(Button)........................................................................ 80
4.4.3 文本框(TextView)................................................................ 82
4.4.4 编辑框(EditText)................................................................. 83
4.4.5 多项选择按钮(CheckBox)................................................. 85
4.4.6 单项选择按钮组(RadioGroup)......................................... 89
4.4.7 下拉列表(Spinner).............................................................. 92
4.4.8 自动完成文本(AutoCompleteTextView)......................... 96
4.4.9 日期选择器和时间选择器(DatePicker和TimePicker). 99
4.4.10 进度条(ProgressBar)...................................................... 103
4.4.11 滚动视图(ScrollView)..................................................... 105
4.4.12 拖动条(SeekBar).............................................................. 107
4.4.13 评价条(RatingBar).......................................................... 109
4.4.14 图片视图(ImageView)和图片按钮(ImageButton) 112
4.4.15 图片切换器ImageSwitcher和图库Gallery...................... 115
4.4.16 网格视图(GridView)........................................................ 120
4.4.17 标签(Tab)......................................................................... 123
4.5
Menu和ActionBar............................................................................ 127
4.5.1
Options Menu.......................................................................... 127
4.5.2
Context Menu.......................................................................... 132
4.5.3
SubMenu.................................................................................. 133
4.6
Bitmap..................................................................................................... 136
4.7
对话框(Dialog)................................................................................ 138
4.7.1
AlertDialog............................................................................... 139
4.7.2
ProgressDialog........................................................................ 142
4.8
Toast和Notification............................................................................ 143
4.8.1
Toast......................................................................................... 143
4.8.2
Notification............................................................................... 145
4.9
界面事件响应....................................................................................... 148
4.9.1 事件监听器.............................................................................. 148
4.9.2 回调事件响应.......................................................................... 149
4.9.3 界面事件响应实例................................................................. 150
4.10
小结....................................................................................................... 154
4.11
思考题.................................................................................................. 154
第5章
电话和短信应用程序开发..................................................... 155
5.1
Intent..................................................................................................... 155
5.1.1 显式Intent和隐式Intent...................................................... 157
5.1.2
IntentFilter................................................................................ 157
5.2
拨号程序................................................................................................ 158
5.3
短信程序................................................................................................ 161
5.3.1
SMS简介................................................................................. 161
5.3.2 接收短信.................................................................................. 162
5.3.3 接收短信实例.......................................................................... 162
5.3.4 发送短信.................................................................................. 165
5.3.5 短信发送实例.......................................................................... 165
5.4
照相机程序............................................................................................ 169
5.5
小结......................................................................................................... 172
5.6
思考题.................................................................................................... 172
第6章
多媒体开发.......................................................................... 173
6.1
Service.................................................................................................... 173
6.1.1
Service的作用......................................................................... 173
6.1.2
Service的生命周期................................................................ 173
6.1.3 启动Service............................................................................. 173
6.2
BroadcastReceiver................................................................................ 175
6.3
音频......................................................................................................... 178
6.3.1
Android4.0支持的音频格式................................................. 179
6.3.2 音频播放器.............................................................................. 179
6.3.3 后台播放音频.......................................................................... 184
6.3.4 录音程序.................................................................................. 187
6.3.5 后台录制音频.......................................................................... 194
6.4
视频......................................................................................................... 197
6.4.1
Android4.0 支持的视频文件............................................... 197
6.4.2 视频播放器.............................................................................. 197
6.4.3 拍照程序.................................................................................. 205
6.4.4 录制视频.................................................................................. 213
6.5
小结......................................................................................................... 222
6.6
思考题.................................................................................................... 222
第7章
数据存储.............................................................................. 223
7.1
SharedPreferences................................................................................ 223
7.1.1
SharedPreferences简介......................................................... 223
7.1.2 使用SharedPreferences......................................................... 224
7.2
文件存储................................................................................................ 227
7.2.1 文件存储方式简介................................................................. 227
7.2.2 使用文件存储功能................................................................. 229
7.3
SQLite..................................................................................................... 232
7.3.1
SQLite数据库简介................................................................. 232
7.3.2
SQLite数据库操作................................................................. 234
7.3.3
SQLite数据库操作实例........................................................ 236
7.4
ContentProvider.................................................................................... 246
7.4.1
ContentProvider简介............................................................. 246
7.4.2
UriMatcher............................................................................... 249
7.4.3 访问系统提供的ContentProvider....................................... 249
7.4.4 自定义ContentProvider........................................................ 253
7.4.5 访问自定义ContentProvider................................................ 258
7.5
数据同步到云端................................................................................... 264
7.5.1
App Engine简介..................................................................... 264
7.5.2 创建可相互通信的Android和App Engine应用程序... 265
7.6
数据备份与恢复................................................................................... 272
7.6.1
Android数据备份与恢复简介............................................. 272
7.6.2 实现备份代理的步骤............................................................. 273
7.6.3 通过BackupAgent实现备份与恢复.................................. 274
7.6.4 通过BackupAgentHelper实现备份与恢复...................... 279
7.7
小结......................................................................................................... 282
7.8
思考题.................................................................................................... 283
第8章
网络编程.............................................................................. 284
8.1
HTTP通信............................................................................................. 284
8.1.1 访问URL指定资源................................................................ 288
8.1.2 使用GET方式获取网络服务............................................... 292
8.1.3 使用POST方式获取网络服务............................................ 296
8.2
Socket通信............................................................................................ 299
8.2.1
Socket简介.............................................................................. 300
8.2.2
Socket使用方法..................................................................... 300
8.2.3
Socket编程实例..................................................................... 302
8.3
Bluetooth通信...................................................................................... 306
8.3.1
Bluetooth简介........................................................................ 306
8.3.2 Android系统的蓝牙通信功能............................................. 307
8.3.3 蓝牙通信实例.......................................................................... 312
8.4
WIFI通信.............................................................................................. 332
8.4.1
WIFI简介................................................................................. 332
8.4.2
WIFI实例................................................................................. 333
8.4.3
WIFI Direct............................................................................... 339
8.4.4 创建WIFI Direct应用程序的步骤...................................... 341
8.4.5
WIFI Direct编程实例............................................................ 346
8.5
NFC......................................................................................................... 361
8.5.1
NFC简介.................................................................................. 361
8.5.2
Android NFC技术.................................................................. 362
8.5.3 使用前台发布系统................................................................. 364
8.6
USB......................................................................................................... 366
8.6.1
USB简介.................................................................................. 366
8.6.2
USB附件.................................................................................. 367
8.6.3
USB主机.................................................................................. 373
8.7
SIP........................................................................................................... 378
8.7.1
SIP简介.................................................................................... 378
8.7.2 相关API................................................................................... 379
8.7.3
Manifest文件配置................................................................. 379
8.7.4 创建SipManager对象........................................................... 380
8.7.5 注册SIP服务器...................................................................... 380
8.7.6 拨打音频电话.......................................................................... 382
8.7.7 接收呼叫.................................................................................. 383
8.8
小结......................................................................................................... 385
8.9
思考题.................................................................................................... 385
第9章
智能传感器.......................................................................... 386
9.1
获取位置信息....................................................................................... 386
9.1.1
LocationManager介绍.......................................................... 387
9.1.2
LocationProvider介绍........................................................... 387
9.1.3 使用GPS获取当前位置信息............................................... 389
9.2
使用Google地图服务......................................................................... 393
9.2.1
Google Map API简介............................................................ 393
9.2.2 申请Android Map API Key................................................. 394
9.2.3 使用Google Map显示当前位置......................................... 396
9.3
传感器.................................................................................................... 402
9.3.1
Android传感器简介.............................................................. 402
9.3.2 标识传感器.............................................................................. 404
9.3.3 传感器事件处理..................................................................... 405
9.4
运动传感器............................................................................................ 406
9.4.1 加速度传感器.......................................................................... 407
9.4.2 重力传感器.............................................................................. 407
9.4.3 陀螺仪....................................................................................... 407
9.4.4 线性加速传感器..................................................................... 409
9.4.5 旋转向量传感器..................................................................... 409
9.5
位置传感器............................................................................................ 409
9.5.1 磁场传感器.............................................................................. 410
9.5.2 方位传感器.............................................................................. 410
9.5.3 距离传感器.............................................................................. 411
9.6
环境传感器............................................................................................ 412
9.7
小结......................................................................................................... 414
9.8
思考题.................................................................................................... 414
第10章
绘 图............................................................................... 415
10.1
2D绘图................................................................................................. 415
10.1.1 获取Canvas对象................................................................. 415
10.1.2 使用自定义View绘图......................................................... 416
10.1.3 使用Bitmap绘图.................................................................. 419
10.1.4 使用SurfaceView绘制静态图像....................................... 422
10.1.5 使用SurfaceView绘制动态图像....................................... 425
10.2
Drawable............................................................................................... 431
10.2.1 从资源文件中创建Drawable对象.................................... 431
10.2.2 从XML文件中创建Drawable对象................................. 431
10.2.3 使用构造方法创建Drawable对象.................................... 432
10.3
3D绘图................................................................................................. 433
10.3.1
OpenGL ES简介.................................................................... 433
10.3.2 绘制3D图像实例.................................................................. 433
10.4
硬件加速.............................................................................................. 438
10.4.1 启用硬件加速........................................................................ 438
10.4.2
Android绘图模型................................................................ 439
10.5
RenderScript........................................................................................ 440
10.5.1
RenderScript综述................................................................. 441
10.5.2 使用动态分配的内存........................................................... 442
10.5.3 使用静态分配的内存........................................................... 445
10.6
小结....................................................................................................... 448
10.7
思考题.................................................................................................. 448
第11章
APP的本地化.................................................................... 449
11.1
国际化与本地化................................................................................. 449
11.2
手机区域设置..................................................................................... 449
11.3
未本地化的应用程序........................................................................ 451
11.4
本地化的应用程序............................................................................. 455
11.5
小结....................................................................................................... 461
11.6
思考题.................................................................................................. 461
第12章
文本与输入........................................................................ 462
12.1
剪贴板框架(Clipboard Framework)........................................... 462
12.2
剪贴板类(Clipboard Classes)..................................................... 463
12.3
将剪贴板内数据强制转换为文本................................................... 464
12.4
复制到剪贴板..................................................................................... 466
12.5
从剪贴板中粘贴................................................................................. 467
12.6
利用Content Provider复制复杂数据............................................ 471
12.7
设计有效的复制粘贴功能.............................................................. 476
12.8
综合实例.............................................................................................. 477
12.9
小结....................................................................................................... 487
第13章
企业应用开发..................................................................... 488
13.1
设备管理API概述............................................................................ 488
13.1.1 设备管理工作过程............................................................... 488
13.1.2 设备管理策略........................................................................ 489
13.2
开发设备管理API应用.................................................................... 490
13.2.1 创建程序代码........................................................................ 491
13.2.2
DeviceAdminReceiver的子类............................................ 493
13.2.3 启用程序................................................................................ 494
13.2.4 管理策略................................................................................ 496
13.3
文本语音API...................................................................................... 500
13.4
TV应用................................................................................................ 504
13.4.1 创建电视应用项目(TV Project).................................... 504
13.4.2 添加TV支持库..................................................................... 506
13.4.3 建立TV应用......................................................................... 507
13.4.4 运行TV应用......................................................................... 507
13.4.5 TV应用实例.......................................................................... 509
13.5
可穿戴设备应用................................................................................. 514
13.5.1 可穿戴设备应用简介........................................................... 514
13.5.2
Android Wear项目搭建...................................................... 514
13.6
小结....................................................................................................... 519
第14章
应用程序发布..................................................................... 520
14.1
应用程序发布的步骤........................................................................ 520
14.2
为什么要为应用程序签名................................................................ 521
14.3
Android的签名策略.......................................................................... 522
14.4
导出未签名应用程序........................................................................ 523
14.5
生成签名文件..................................................................................... 524
14.5.1 使用ADT插件..................................................................... 524
14.5.2 使用keytool工具................................................................. 525
14.6
为应用程序签名................................................................................. 527
14.6.1 使用ADT插件..................................................................... 527
14.6.2 使用jarsigner工具............................................................... 529
14.7
使用zipalign工具优化应用程序.................................................... 530
14.8
发布到Google Play Store.................................................................. 531
14.9
小结....................................................................................................... 532
14.10 思考题....................................................................................................... 532
|
|