书籍作者:欧阳燊 | ISBN:9787302617822 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:9673 |
创建日期:2023-05-10 | 发布日期:2023-05-10 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书是一部Android开发的实战教程,由浅入深、由基础到高级,带领读者一步一步走进App开发的神奇世界。全书共分为20章。其中,前10章是基础部分,主要讲解Android Studio的环境搭建、App开发的各种常用控件、App开发的四大组件、App的数据存储方式、如何打造App的安装包;后10章是进阶部分,主要讲解App开发的事件交互、动画特效、网络通信、多媒体、手机阅读、感知定位、物联网、智能语音、机器视觉、在线直播等。书中在讲解知识点的同时给出了大量实战范例,方便读者迅速将所学的知识运用到实际开发中。通过本书的学习,读者不仅能够掌握3类主流App的基本开发技术,包括购物App(电子商务)、聊天App(即时通信)、娱乐App(短视频分享),还能够学会开发一些趣味应用,包括计算器、记账本、抠图工具、动感影集、电子阅读、附近交友、遥控小车、语音问答、人脸识别、视频通话等。
本书适用于Android开发的广大从业者、有志于转型App开发的程序员、App开发的业余爱好者,也可作为大中专院校与培训机构的Android课程教材。
欧阳燊
资深软件开发专家,有14年以上软件开发经验,熟悉C/C++、Java及相关软件架构,从事Android开发8年以上,有丰富的Android开发实战经验。已出版畅销书《Android Studio开发实战:从零基础到App上线》《Kotlin从零到精通Android开发》等。
本书第二版面世已近四年,在此期间信息科技继续快速发展,5G网络大规模建成,智能化应用越发普及。万物互联、智慧城市、见屏如见面等场景已从早些年的概念变成如今的生活常态,这些都离不开移动互联网、物联网、人工智能等技术的助力。
单就App开发而言,安卓的系统版本从2018年的Android 9升级到2021年的Android 12,Android Studio的版本也从2018年的3.2更新到2021年的4.2然后开始以字母命名,同时操作系统又多了个兼容Android的国产鸿蒙。近几年还诞生了一些新框架和新标准,诸如谷歌公司的JetPack套件、华为公司的HMS套件,以及臻于完善的WebRTC、低功耗蓝牙(简称BLE)等,这些技术都在App开发中得到越来越广泛的运用。
有鉴于此,本书亟需补充这期间风起云涌的新技术新知识,以跟上时代发展的滚滚浪潮。种种因缘际会,加上众多读者的热忱建议,因此便有了重新修订之后的第3版问世。第3版的图书不是第2版的简单修补,而是脱胎换骨的全面升级。与第2版相比,第3版的图书主要有以下五处重要的增补变化。
1. 工具更新颖
第3版的App开发全部基于Android 12环境,使用的开发工具为2022年9月发布的Android Studio Dolphin(小海豚版本),JNI用到的NDK则为2021年8月发布的r23。相关的功能点都根据上述最新版本的工具展开论述,比如Android 12新增支持AVIF图像、强制使用64位应用,JetPack库内含的DataStore、Room、ViewPager2、CameraX等流行组件。
2. 技术更先进
移动互联网的后继发展方向如物联网、人工智能、实时音视频等开展得如火如荼,第3版为此投入了大量笔墨深入描述相关的技术细节,例如物联网涉及的NFC、红外、低功耗蓝牙、快速扫码等,人工智能涉及的语音识别、语音合成、人脸识别、活体检测等,实时音视频涉及的WebSocket、WebRTC、原始音频、视频通话等。
3. 案例更实用
本书的一大特色是突出实战,每章末尾都给出了技术精炼的实战项目,第3版更是将这个优良传统发扬光大。一方面给部分现有项目补充新功能,例如聊天App原来只支持私聊,新版本增加了群聊功能;阅读App除了支持现有格式外,改造后还支持Office文档(含Word、Excel、PPT)。另一方面新增了若干新潮实用的实战项目,包括无线遥控的智能小车、你问我答的智能语音机器人、自动寻人的智慧天眼、爱心助农的手机直播等。
4. 自主更可控
每个App都凝聚着开发者的心血,持续稳定运行是每个开发者的期望。然而有时由于外部原因导致App无法使用,例如国外服务遭到断供、不在服务范围之内等。为此第3版推荐使用稳定可靠的国内自主服务,包括HMS(Huawei Mobile Service,华为移动服务)、TBS(Tencent Browser Service,腾讯浏览服务)。另外,语音服务和地图服务也选用了方便快速集成的第三方SDK。
5. 讲解更精细
作为一部软件开发方面的专著,要让读者看得懂、学得会,循序渐进的重要性毋庸置疑。第3版在这方面进行了大力改善,首先增加了单独的第2章入门,先讲解App开发必备的基础知识,有助于读者打好基础往下学习;其次,对于App开发的四大组件(Activity、Broadcast、Service、ContentProvider),补充了更加全面的描述以及各组件在不同Android版本中需要注意的事项;最后,大幅精简示例源码,加了注释的每段源码基本不超过一百行,避免代码过长引起的疲惫感。
综上所述,经过精心修订的第3版图书,无论是广度还是深度,从数量到质量都比第2版有了质的提升。全书的写作目的,不仅是教会读者怎么快速开发一个好玩、好看、好用的App,更是让读者领略行业前沿的移动互联网技术。深度解密流行App背后的手机开发技术,展示移动信息科技的最新工程实践,这才是本书一直想要呈献给读者的知识盛宴。
第3版的主要代码基于Java 8编写,其中客户端的App代码基于Android Studio Dolphin(小海豚版本)开发,并使用API31的SDK(Android 12)编译与调试通过,同时兼容鸿蒙2.0设备。配套的服务端源码采用Java Web框架,结合MySQL数据库,并基于IDEA开发。
读者可以扫描下述二维码获取本书的源码、思维导图和PPT课件:
如果下载有问题,请发送邮件到[email protected],邮件主题为“Android Studio开发实战:从零基础到App上线(第3版)”。
最后,感谢王金柱编辑的热情指点,感谢出版社同仁的辛勤工作,感谢我的家人一直以来的支持,感谢各位师长的谆谆教导,没有他们的鼎力相助,本书就无法顺利完成。
欧阳燊
2022年7月
第1章 Android开发环境搭建 1
1.1 Android开发简介 1
1.1.1 Android的发展历程 1
1.1.2 Android Studio的发展历程 2
1.2 搭建Android Studio开发环境 2
1.2.1 计算机配置要求 2
1.2.2 安装Android Studio 3
1.2.3 下载Android的SDK 6
1.3 创建并编译App工程 7
1.3.1 创建新项目 7
1.3.2 导入已有的工程 9
1.3.3 编译App工程 10
1.4 运行和调试App 11
1.4.1 创建内置模拟器 11
1.4.2 在模拟器上运行App 14
1.4.3 观察App的运行日志 15
1.5 小结 16
1.6 动手练习 16
第2章 Android App开发基础 17
2.1 App的开发特点 17
2.1.1 App的运行环境 17
2.1.2 App的开发语言 19
2.1.3 App连接的数据库 22
2.2 App的工程结构 23
2.2.1 App工程目录结构 23
2.2.2 编译配置文件build.gradle 24
2.2.3 运行配置文件
AndroidManifest.xml 26
2.3 App的设计规范 27
2.3.1 界面设计与代码逻辑 28
2.3.2 利用XML标记描绘应用界面 29
2.3.3 使用Java代码书写程序逻辑 30
2.4 App的活动页面 31
2.4.1 创建新的App页面 31
2.4.2 快速生成页面源码 33
2.4.3 跳转到另一个页面 34
2.5 小结 35
2.6 动手练习 36
第3章 简单控件 37
3.1 文本显示 37
3.1.1 设置文本的内容 37
3.1.2 设置文本的大小 38
3.1.3 设置文本的颜色 40
3.2 视图基础 42
3.2.1 设置视图的宽和高 42
3.2.2 设置视图的间距 44
3.2.3 设置视图的对齐方式 45
3.3 常用布局 46
3.3.1 线性布局LinearLayout 46
3.3.2 相对布局RelativeLayout 49
3.3.3 网格布局GridLayout 51
3.3.4 滚动视图ScrollView 52
3.4 按钮触控 53
3.4.1 按钮控件Button 53
3.4.2 点击事件和长按事件 55
3.4.3 禁用与恢复按钮 56
3.5 图像显示 58
3.5.1 图像视图ImageView 58
3.5.2 图像按钮ImageButton 60
3.5.3 同时展示文本与图像 61
3.6 实战项目:计算器 62
3.6.1 需求描述 62
3.6.2 界面设计 62
3.6.3 关键代码 63
3.7 小结 65
3.8 动手练习 65
第4章 常用组件 66
4.1 启停活动页面 66
4.1.1 Activity的启动和结束 66
4.1.2 Activity的生命周期 67
4.1.3 Activity的启动模式 70
4.2 在活动之间传递消息 73
4.2.1 显式Intent和隐式Intent 73
4.2.2 普通的活动数据交互 75
4.2.3 改进后的活动数据交互 78
4.3 收发应用广播 80
4.3.1 收发标准广播 80
4.3.2 收发有序广播 83
4.3.3 收发静态广播 84
4.3.4 定时管理器AlarmManager 86
4.4 操作后台服务 89
4.4.1 服务的启动和停止 89
4.4.2 服务的绑定与解绑 92
4.4.3 活动与服务之间的交互 94
4.5 小结 96
4.6 动手练习 96
第5章 中级控件 97
5.1 图形定制 97
5.1.1 图形Drawable 97
5.1.2 形状图形 98
5.1.3 九宫格图片 101
5.1.4 状态列表图形 102
5.2 选择按钮 103
5.2.1 复选框CheckBox 103
5.2.2 开关按钮Switch 105
5.2.3 单选按钮RadioButton 106
5.3 文本输入 108
5.3.1 编辑框EditText 108
5.3.2 焦点变更监听器 110
5.3.3 文本变化监听器 111
5.4 对话框 113
5.4.1 提醒对话框AlertDialog 113
5.4.2 日期对话框DatePickerDialog 115
5.4.3 时间对话框TimePickerDialog 116
5.5 实战项目:找回密码 117
5.5.1 需求描述 117
5.5.2 界面设计 118
5.5.3 关键代码 119
5.6 小结 121
5.7 动手练习 121
第6章 数据存储 122
6.1 键值对 122
6.1.1 共享参数的用法 122
6.1.2 实现记住密码功能 123
6.1.3 更安全的数据仓库 124
6.2 数据库 126
6.2.1 SQL的基本语法 127
6.2.2 数据库管理器
SQLiteDatabase 129
6.2.3 数据库帮助器
SQLiteOpenHelper 130
6.2.4 优化记住密码功能 133
6.3 存储卡 135
6.3.1 私有存储空间与公共存储
空间 135
6.3.2 在存储卡上读写文件 136
6.3.3 运行时动态申请权限 139
6.4 应用组件Application 142
6.4.1 Application的生命周期 142
6.4.2 利用Application操作全局
变量 143
6.4.3 避免方法数过多的问题 144
6.4.4 利用Room简化数据库操作 145
6.5 共享数据 148
6.5.1 通过ContentProvider封装
数据 148
6.5.2 通过ContentResolver访问
数据 151
6.5.3 利用ContentResolver读写
联系人 153
6.5.4 利用ContentObserver监听
短信 154
6.6 实战项目:购物车 156
6.6.1 需求描述 156
6.6.2 界面设计 158
6.6.3 关键代码 159
6.7 小结 163
6.8 动手练习 163
第7章 高级控件 164
第8章 自定义控件 196
第9章 组合控件 232
第10章 打造安装包 265
第11章 事件交互 281
第12章 动画特效 312
第13章 网络通信 351
第14章 多媒体 394
第15章 手机阅读 423
第16章 感知定位 469
第17章 物联网 503
第18章 智能语音 545
第19章 机器视觉 575
第20章 在线直播 602
附录A 移动互联网行业的新技术
发展简表 630
附录B Android各版本的新增
功能简表 632
附录C Android常用开发库说明简表 634
附录D 移动开发专业术语索引 636
附录E 本书的服务端程序说明 639