Android应用开发实践 第2版PDF电子书下载
- 电子书积分:19 积分如何计算积分?
- 作 者:Ian F. Darwin著;胡训强,夏红梅,张文娟译
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111589969
- 页数:672 页
前言 1
第1章 入门 9
1.1理解Android应用程序体系结构 9
1.2理解Android Activity的生命周期 11
1.3了解Android发行版本 13
1.4学习Java语言 15
1.5从命令行创建“Hello World”应用程序 16
1.6用Apache Maven创建“Hello World”应用程序 20
1.7为Android开发选择集成开发环境(IDE) 22
1.8安装Android Studio 26
1.9安装Platform Editions并保持SDK更新 28
1.10用Android Studio创建“Hello World”应用程序 31
1.11将Eclipse ADT项目转换成Android Studio项目 37
1.12从Eclipse向Android Studio转换时保留历史记录 40
1.13用Eclipse和Android Studio共同构建Android应用程序 42
1.14安装带有AndMore的Eclipse(代替ADT) 44
1.15用Eclipse创建“Hello World”应用程序 51
1.16在Eclipse中安装Eclipse Marketplace Client 56
1.17将项目从Eclipse ADT升级到Eclipse AndMore 59
1.18用命令行ADB控制模拟器/设备 62
1.19共享其他Eclipse项目中的Java类 64
1.20引用库实现外围功能 66
1.21通过兼容库在老设备上使用新功能 70
1.22应用SDK示例帮助避免让人头疼的问题 72
1.23从模拟器/Android设备上截图/截取视频 73
1.24程序:一个简单的定时器示例 78
1.25程序:Tipster, Android操作系统上的小费计算器 82
第2章 设计成功的应用程序 98
2.1异常处理 101
2.2运行时请求Android访问权限 104
2.3以“单例”模式访问Android的Application对象 106
2.4在用户旋转设备时保持数据 109
2.5监控Android设备上的电池电量 111
2.6在Android中创建闪屏 112
2.7设计面向会议/野营/黑客马拉松/公共机构的应用程序 116
2.8在Android应用程序中使用Google的分析工具 118
2.9进行首次运行的偏好设置 120
2.10格式化数字 122
2.11用正确的复数形式进行格式化 126
2.12格式化时间和日期进行显示 128
2.13用Java 8的java.time API简化日期/时间计算 131
2.14用键盘监听器控制输入 133
2.15备份Android应用程序数据 136
2.16用提示(Hint)代替工具小贴士 142
第3章 应用程序测试 144
3.1针对测试设置Android虚拟设备 145
3.2在大量设备上进行云测试 151
3.3用Eclipse和JUnit进行测试 152
3.4用Android Studio和JUnit进行测试 154
3.5用Robolectric和JUnit 4进行测试 159
3.6用ATSL、 Espresso和JUnit 4进行测试 161
3.7排查应用程序崩溃原因 165
3.8用Log.d()和LogCat进行调试 168
3.9用Crash Reporting自动获取崩溃报告 169
3.10针对现场错误或情况使用本地运行时应用程序日志 172
3.11为测试重现Activity生命周期场景 176
3.12利用严苛模式让应用程序保持简洁 180
3.13用Android Lint进行静态代码测试 181
3.14用Monkey程序进行动态测试 183
3.15在AVD之间发送文本消息和通话 185
第4章 进程间/进程内通信 187
4.1用Intent打开网页、电话号码本或其他应用程序 187
4.2从视图中用电子邮件发送文本 189
4.3发送带有附件的电子邮件 192
4.4用Intent.putExtra()发送字符串值 194
4.5从子Activity向主Activity发回数据 195
4.6当其他应用程序在屏幕上显示的同时让后台服务保持运行 198
4.7发送/接收广播消息 200
4.8在设备重启后启动服务 201
4.9使用线程创建高可响应的应用程序 202
4.10使用AsyncTask进行后台处理 203
4.11利用Activity的线程队列和Handler在线程间发送消息 210
4.12结合Android和HTM L/JavaScri pt创建一个万年历应用程序 211
第5章 图形 218
5.1使用自定义字体 218
5.2用OpenGL ES绘制旋转正方体 221
5.3为OpenGL旋转正方体添加控制 224
5.4手绘光滑曲线 227
5.5用Intent拍照 232
5.6用android.media.Camera照相 234
5.7用Google的条形码扫描器ZXin9扫描条形码和二维码 238
5.8用AndroidPlot显示图表和图形 240
5.9使用Inkscape借助OpenClipArt.org创建Android启动器图标 244
5.10使用Paint.NET借助OpenClipArt.org创建Android启动器图标 248
5.11使用九宫格文件 254
5.12使用Android RGraph创建HTML5图表 258
5.13添加一个简单的光栅动画 262
5.14用拇指和食指进行缩放 265
第6章 图形用户界面 268
6.1理解和遵循用户界面准则 269
6.2用原质化设计赋予应用程序良好外观 270
6.3选择布局管理器(ViewGroup)排列组件 274
6.4通过解耦视图与模型处理配置变化 275
6.5处理动作栏 277
6.6向动作栏添加共享动作 281
6.7用Fragment API构建现代UI 285
6.8创建按钮及其单击事件监听器 289
6.9用图像按钮增强UI设计 290
6.10使用FloatingActionButton 291
6.11以多种不同方式编写事件监听器 294
6.12使用复选框和单选按钮 298
6.13使用卡片窗口部件 302
6.14通过Spinner类提供下拉选择器 304
6.15处理长按/长点事件 307
6.16用TextView和EditText显示文本域 308
6.17用属性和TextWatcher接口限制EditText的值 309
6.18实现AutoCompleteTextView 311
6.19使用SQLite数据库查询填充AutoCompleteTextView 313
6.20将文本域转换为密码域 315
6.21将软键盘上的回车键改为“下一个” 315
6.22在Activity中处理键盘按键事件 318
6.23让他们看星星:使用RatingBar 319
6.24让视图晃动 323
6.25提供触觉反馈 325
6.26在TabView中的各个Activity之间切换 328
6.27创建在两个Activity之间显示的载入界面 329
6.28为布局添加带有圆角的边框 331
6.29在Android中检测手势 333
6.30创建一个简单的应用程序窗口小部件 340
第7章 GUI中的警告:菜单、对话框、Toast、Snackbar和通知 344
7.1用Toast和Snackbar向用户发出警告 344
7.2自定义Toast的外观 346
7.3创建和显示菜单 348
7.4处理菜单项的选择 349
7.5创建子菜单 350
7.6创建弹出式/警告对话框 352
7.7创建时间选择器窗口部件 353
7.8针对选择创建iPhone风格的滚轮选择器 356
7.9创建选项卡式对话框 358
7.10创建进度对话框 361
7.11创建带有按钮、图像和文本的自定义对话框 362
7.12创建可重用的“关于对话框”类 364
7.13在状态栏中创建通知 368
第8章 其他GUI组件:列表和视图 373
8.1用RecyclerView构建基于列表的应用程序 373
8.2用ListView构建基于列表的应用程序 376
8.3为ListView创建“无数据”视图 381
8.4创建带有图像和文本的高级ListView 382
8.5在ListView中使用分组标题 386
8.6让ListView始终处于用户的关注点上 390
8.7编写自定义列表适配器 391
8.8利用SearchView在ListView中查找数据 394
8.9处理方向变化:从ListView数据值到全局模式中的图表绘制 396
第9章 多媒体 402
9.1播放YouTube视频 402
9.2利用MediaRecorder录制视频 403
9.3使用Android的人脸检测功能 406
9.4播放音频文件 409
9.5在没有交互的情况下播放音频 411
9.6使用语音文本转换 412
9.7利用文本语音转换让设备发声 414
第10章 数据持久化 416
10.1读写内存储器和外存储器中的文件 416
10.2获取文件和文件夹信息 421
10.3读取应用程序自带而非文件系统中的文件 426
10.4获取SD卡的存储空间信息 427
10.5提供偏好设置Activity 428
10.6检查共享偏好设置的一致性 433
10.7在Android应用程序中使用SQLite数据库 435
10.8在SQLite数据库上执行高级文本检索 438
10.9处理SQLite中的日期 443
10.10将非SQL数据对外暴露为SQL游标 445
10.11用CursorLoader显示数据 448
10.12利用JSONObject解析JSON 451
10.13利用DOM API解析XML文档 453
10.14利用ContentProvider存储和获取数据 455
10.15编写一个ContentProvider 456
10.16通过联系人内容提供器添加联系人 460
10.17利用ContentProvider读取联系人数据 462
10.18实现拖放 464
10.19通过FileProvider共享文件 468
10.20利用SyncAdapter把SQLite中的数据备份到云端 473
10.21利用Google Firebase将数据存放到云端 482
第11章 电话应用程序 487
11.1来电处理 487
11.2处理去电呼叫 490
11.3拨打电话 494
11.4发送单段式或多段式短信 495
11.5接收短信 498
11.6利用模拟器控制台向模拟器发送短信 499
11.7利用Android的TelephonyManager获取设备信息 500
第12章 网络应用程序 511
12.1借助URLConnection利用RESTful Web服务 512
12.2借助Volley利用RESTful Web服务 515
12.3利用Google Cloud Messaging的“推送消息”向应用程序发出通知消息 517
12.4利用正则表达式从非结构化文本中提取信息 525
12.5利用ROME解析RSS/Atom订阅内容 526
12.6利用MD5加密纯文本 531
12.7将文本转换为超链接 531
12.8利用WebView访问网页 532
12.9自定义WebView 533
12.10编写进程间通信服务 534
第13章 游戏和动画 539
13.1利用flixel-gdx制作Android游戏 540
13.2利用AndEngine制作Android游戏 544
13.3处理与时间相关的键盘输入 549
第14章 社交网络 551
14.1利用OAUTH2对用户进行身份认证 551
14.2利用HTTP集成社交网络 555
14.3利用HTML或JSON加载用户的Twitter时间线 557
第15章 定位和地图应用程序 559
15.1获取位置信息 559
15.2在应用程序内获取GPS信息 561
15.3在设备上模拟GPS坐标 563
15.4使用地理编码和逆向地理编码 565
15.5为使用Google Maps API V2进行开发做好准备 566
15.6使用Google Maps API V2 571
15.7利用OpenStreetMap显示地图数据 576
15.8利用OpenStreetMap地图创建覆盖图层 578
15.9在OpenStreetMap地图上使用比例尺 581
15.10在OpenStreetMap覆盖图层上处理触摸事件 582
15.11利用OpenStreetMap获取定位更新 584
第16章 加速计 588
16.1检查传感器是否存在 588
16.2利用加速计检测晃动 589
16.3检测设备正面朝上还是朝下 593
16.4读取温度传感器 594
第17章 蓝牙 595
17.1启用蓝牙并让设备可被发现 595
17.2连接启用了蓝牙的设备 597
17.3接受来自蓝牙设备的连接 599
17.4实现发现蓝牙设备的功能 600
第18章 系统和设备控制 602
18.1获取手机的网络/连接信息 602
18.2从应用程序清单文件中获取信息 603
18.3将来电通知改为静音、振动或普通铃声 604
18.4复制文本并从剪切板中获取文本 606
18.5使用基于LED的通知 606
18.6让设备振动 607
18.7确定指定的应用程序是否正在运行 608
第19章 世上并非只有Java:其他编程语言和框架 609
19.1了解跨平台解决方案 610
19.2在应用程序中执行Shell命令 611
19.3利用JNI在NDK上运行原生C/C ++代码 613
19.4 Android脚本编程层S L4A入门 618
19.5在S L4A中创建警告消息 620
19.6利用SL4A获取Google文档并在ListView中显示 624
19.7在二维码中共享SL4A脚本 626
19.8通过JavaScript在WebView中使用原生的手机功能 628
19.9利用Xamarin构建跨平台应用程序 630
19.10利用PhoneGap/Cordova构建跨平台应用程序 634
第20章 世上并非只有英语:字符串和国际化 639
20.1国际化应用程序中的文本 640
20.2查找和翻译字符串 643
20.3处理strings.xml中的细微差别 644
第21章 打包、部署及发布/出售应用程序 650
21.1创建签名证书并用其对应用程序签名 650
21.2通过Google Play应用商店发布应用程序 653
21.3通过其他应用商店发布应用程序 655
21.4利用AdMob让你的应用程序赚钱 656
21.5利用ProGuard进行混淆和优化 662
21.6让应用程序驻留在你自己的服务器上 664
21.7创建“自行更新”的应用程序 666
21.8为Google Play应用商店中其他已发布的应用程序提供链接 668
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《语文教育教学实践探索》陈德收 2018
- 《第一性原理方法及应用》李青坤著 2019
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019