描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302567219
本书的特色
1. 根据新版本编写:本书所有代码都基于Android Studio 4.1开发,并使用API 30的SDK(Android 11)编译与调试通过。
2. 只要你具备Java基础,即可以使用本书快速开发自己的移动应用,本书特别针对开发新手介绍了Android App的开发特点,比如,App工程的组织、界面与代码分离的设计规范、数据库的选择等,使读者真正能够掌握一个App的工程结构和原理,解决读者开发中的困惑。
3. 一步一步教学,全代码注释:本书充分考虑到初学者的学习特点,全书内容安排循序渐进、由易到难,同时尽可能地采取一步一步的教学方法,并对所有代码进行了详尽的注释,对于从未接触过Android开发的读者,本书可以说是一本极佳的入门教程。
4. 技术新颖,项目丰富:各章在叙述过程中,穿插介绍了近期Android系统的新特性与新框架,包括但不限于Shortcuts、ViewPager2、ImageDecoder、Room、Gson、Glide等,还给出了8个精心设计的实战项目,包括计算器、找回密码、购物车、记账本、广告轮播、电商首页、评价晒单、猜你喜欢,帮助读者学以致用,掌握实战技能。
5. 配练习题:除了常规的理论讲解与实战项目,各章末尾还有5种类型共267道练习题和动手项目,方便读者检查自己的学习成果。
6. 资源丰富:本书配套提供的PPT教学课件、练习题参考答案以及完整的范例源码,非常适合Android课程的教学使用。
本书适合的读者
具有Java基础的Android开发新手。
培训机构及大专院校的学生。
本书资源下载
本书所有代码均在Android Studio 4.1及其API 30的SDK(Android 11)下编译与调试通过,读者扫描本书所附二维码即可以下载所有配套资源。
本书是一部Android开发的实战教程,由浅入深、由基础到高级,带领读者一步一步走进App开发的神奇世界。 全书共分为15章。其中,第1章介绍Android开发环境的搭建,主要讲解Android、Android Studio和SDK的安装与App的调试;第2章讲解Android开发的基础知识,主要讲解Android的开发特点,Android的工程结构以及设计规范;第3章到第5章主要讲解App开发的各种常用控件及Activity;第6章讲解App的数据存储方式;第7章讲解Android内容共享;第8章讲解Android的高级控件;第9章到第12章讲解Android自定义控件、广播组件、通知和服务以及组合控件的使用;第13章讲解多媒体的开发技术;第14章讲解网络通信技术;第15章讲解Android安装包的打造。书中在讲解知识点的同时给出了大量实战范例,包括计算器、找回密码、购物车、记账本、广告轮播、电商首页、评价晒单、猜你喜欢等项目的开发,旨在方便读者迅速将所学的知识运用到实际开发中。 本书适用于Android开发的广大从业者、有志于转型App开发的程序员、App开发的业余爱好者,也可作为大中专院校与培训机构的Android课程教材。
第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 15
1.4.3 观察App的运行日志 15
1.5 小结 16
1.6 课后练习题 17
第2章 Android App开发基础 18
2.1 App的开发特点 18
2.1.1 App的运行环境 18
2.1.2 App的开发语言 20
2.1.3 App连接的数据库 24
2.2 App的工程结构 25
2.2.1 App工程目录结构 26
2.2.2 编译配置文件build.gradle 27
2.2.3 运行配置文件AndroidManifest.xml 29
2.3 App的设计规范 30
2.3.1 界面设计与代码逻辑 30
2.3.2 利用XML标记描绘应用界面 32
2.3.3 使用Java代码书写程序逻辑 33
2.4 App的活动页面 34
2.4.1 创建新的App页面 34
2.4.2 快速生成页面源码 37
2.4.3 跳到另一个页面 38
2.5 小结 39
2.6 课后练习题 39
第3章 简单控件 41
3.1 文本显示 41
3.1.1 设置文本的内容 41
3.1.2 设置文本的大小 43
3.1.3 设置文本的颜色 45
3.2 视图基础 47
3.2.1 设置视图的宽高 47
3.2.2 设置视图的间距 49
3.2.3 设置视图的对齐方式 51
3.3 常用布局 53
3.3.1 线性布局LinearLayout 53
3.3.2 相对布局RelativeLayout 56
3.3.3 网格布局GridLayout 58
3.3.4 滚动视图ScrollView 59
3.4 按钮触控 61
3.4.1 按钮控件Button 61
3.4.2 点击事件和长按事件 63
3.4.3 禁用与恢复按钮 65
3.5 图像显示 68
3.5.1 图像视图ImageView 68
3.5.2 图像按钮ImageButton 71
3.5.3 同时展示文本与图像 72
3.6 实战项目:计算器 73
3.6.1 需求描述 73
3.6.2 界面设计 73
3.6.3 关键代码 74
3.7 小结 76
3.8 课后练习题 77
第4章 活动Activity 78
4.1 启停活动页面 78
4.1.1 Activity的启动和结束 78
4.1.2 Activity的生命周期 80
4.1.3 Activity的启动模式 83
4.2 在活动之间传递消息 86
4.2.1 显式Intent和隐式Intent 87
4.2.2 向下一个Activity发送数据 89
4.2.3 向上一个Activity返回数据 90
4.3 为活动补充附加信息 92
4.3.1 利用资源文件配置字符串 92
4.3.2 利用元数据传递配置信息 93
4.3.3 给应用页面注册快捷方式 94
4.4 小结 97
4.5 课后练习题 97
第5章 中级控件 99
5.1 图形定制 99
5.1.1 图形Drawable 99
5.1.2 形状图形 100
5.1.3 九宫格图片 103
5.1.4 状态列表图形 105
5.2 选择按钮 106
5.2.1 复选框CheckBox 107
5.2.2 开关按钮Switch 109
5.2.3 单选按钮RadioButton 110
5.3 文本输入 112
5.3.1 编辑框EditText 112
5.3.2 焦点变更监听器 115
5.3.3 文本变化监听器 117
5.4 对话框 119
5.4.1 提醒对话框AlertDialog 119
5.4.2 日期对话框DatePickerDialog 121
5.4.3 时间对话框TimePickerDialog 122
5.5 实战项目:找回密码 124
5.5.1 需求描述 124
5.5.2 界面设计 125
5.5.3 关键代码 126
5.6 小结 128
5.7 课后练习题 128
第6章 数据存储 130
6.1 共享参数SharedPreferences 130
6.1.1 共享参数的用法 130
6.1.2 实现记住密码功能 132
6.1.3 利用设备浏览器寻找共享参数文件 133
6.2 数据库SQLite 134
6.2.1 SQL的基本语法 134
6.2.2 数据库管理器SQLiteDatabase 136
6.2.3 数据库帮助器SQLiteOpenHelper 138
6.2.4 优化记住密码功能 142
6.3 存储卡的文件操作 144
6.3.1 私有存储空间与公共存储空间 144
6.3.2 在存储卡上读写文本文件 146
6.3.3 在存储卡上读写图片文件 147
6.4 应用组件Application 149
6.4.1 Application的生命周期 150
6.4.2 利用Application操作全局变量 151
6.4.3 利用Room简化数据库操作 152
6.5 实战项目:购物车 156
6.5.1 需求描述 156
6.5.2 界面设计 158
6.5.3 关键代码 158
6.6 小结 163
6.7 课后练习题 164
第7章 内容共享 166
7.1 在应用之间共享数据 166
7.1.1 通过ContentProvider封装数据 166
7.1.2 通过ContentResolver访问数据 170
7.2 使用内容组件获取通讯信息 172
7.2.1 运行时动态申请权限 172
7.2.2 利用ContentResolver读写联系人 176
7.2.3 利用ContentObserver监听短信 177
7.3 在应用之间共享文件 180
7.3.1 使用相册图片发送彩信 180
7.3.2 借助FileProvider发送彩信 182
7.3.3 借助FileProvider安装应用 185
7.4 小结 188
7.5 课后练习题 188
第8章 高级控件 190
8.1 下拉列表 190
8.1.1 下拉框Spinner 190
8.1.2 数组适配器ArrayAdapter 192
8.1.3 简单适配器SimpleAdapter 193
8.2 列表类视图 195
8.2.1 基本适配器BaseAdapter 195
8.2.2 列表视图ListView 198
8.2.3 网格视图GridView 203
8.3 翻页类视图 206
8.3.1 翻页视图ViewPager 207
8.3.2 翻页标签栏PagerTabStrip 210
8.3.3 简单的启动引导页 211
8.4 碎片Fragment 215
8.4.1 碎片的静态注册 215
8.4.2 碎片的动态注册 218
8.4.3 改进的启动引导页 221
8.5 实战项目:记账本 223
8.5.1 需求描述 224
8.5.2 界面设计 224
8.5.3 关键代码 225
8.6 小结 229
8.7 课后练习题 229
第9章 广播组件Broadcast 231
9.1 收发应用广播 231
9.1.1 收发标准广播 231
9.1.2 收发有序广播 234
9.1.3 收发静态广播 236
9.2 监听系统广播 239
9.2.1 接收分钟到达广播 239
9.2.2 接收网络变更广播 240
9.2.3 定时管理器AlarmManager 243
9.3 捕获屏幕的变更事件 246
9.3.1 竖屏与横屏切换 246
9.3.2 回到桌面与切换到任务列表 249
9.4 小结 252
9.5 课后练习题 252
第10章 自定义控件 254
10.1 视图的构建过程 254
10.1.1 视图的构造方法 254
10.1.2 视图的测量方法 258
10.1.3 视图的绘制方法 261
10.2 改造已有的控件 265
10.2.1 自定义月份选择器 265
10.2.2 给翻页标签栏添加新属性 266
10.2.3 不滚动的列表视图 269
10.3 通过持续绘制实现简单动画 272
10.3.1 Handler的延迟机制 272
10.3.2 重新绘制视图界面 273
10.3.3 自定义饼图动画 276
10.4 实战项目:广告轮播 278
10.4.1 需求描述 279
10.4.2 界面设计 279
10.4.3 关键代码 280
10.5 小结 284
10.6 课后练习题 284
第11章 通知与服务 286
11.1 消息通知 286
11.1.1 通知推送Notification 286
11.1.2 通知渠道NotificationChannel 289
11.1.3 给桌面应用添加消息角标 292
11.2 服务Service 294
11.2.1 服务的启动和停止 294
11.2.2 服务的绑定与解绑 297
11.2.3 推送服务到前台 300
11.3 多线程 302
11.3.1 分线程通过Handler操作界面 302
11.3.2 异步任务AsyncTask 306
11.3.3 异步服务IntentService 309
11.4 小结 312
11.5 课后练习题 312
第12章 组合控件 314
12.1 底部标签栏 314
12.1.1 利用BottomNavigationView实现底部标签栏 314
12.1.2 自定义标签按钮 319
12.1.3 结合RadioGroup和ViewPager自定义底部标签栏 322
12.2 顶部导航栏 325
12.2.1 工具栏Toolbar 325
12.2.2 溢出菜单OverflowMenu 327
12.2.3 标签布局TabLayout 328
12.3 增强型列表 332
12.3.1 循环视图RecyclerView 332
12.3.2 布局管理器LayoutManager 335
12.3.3 动态更新循环视图 339
12.4 升级版翻页 341
12.4.1 下拉刷新布局SwipeRefreshLayout 341
12.4.2 第二代翻页视图ViewPager2 343
12.4.3 给ViewPager2集成标签布局 347
12.5 实战项目:电商首页 351
12.5.1 需求描述 351
12.5.2 界面设计 352
12.5.3 关键代码 353
12.6 小结 354
12.7 课后练习题 355
第13章 多媒体 356
13.1 图片 356
13.1.1 使用相机拍摄照片 356
13.1.2 从相册中选取图片 359
13.1.3 对图片进行简单加工 361
13.1.4 图像解码器ImageDecoder 364
13.2 音频 366
13.2.1 使用录音机录制音频 366
13.2.2 利用MediaPlayer播放音频 368
13.2.3 利用MediaRecorder录制音频 371
13.3 视频 373
13.3.1 使用摄像机录制视频 373
13.3.2 从视频库中选取视频 376
13.3.3 利用视频视图(VideoView)播放视频 378
13.4 实战项目:评价晒单 381
13.4.1 需求描述 381
13.4.2 界面设计 383
13.4.3 关键代码 384
13.5 小结 386
13.6 课后练习题 386
第14章 网络通信 388
14.1 HTTP接口访问 388
14.1.1 移动数据格式JSON 388
14.1.2 GET方式调用HTTP接口 391
14.1.3 POST方式调用HTTP接口 396
14.2 下载管理器DownloadManager 400
14.2.1 在通知栏显示下载进度 400
14.2.2 主动轮询当前的下载进度 403
14.2.3 利用POST方式上传文件 406
14.3 图片加载框架Glide 408
14.3.1 从图片地址获取图像数据 408
14.3.2 使用Glide加载网络图片 411
14.3.3 利用Glide实现图片的三级缓存 413
14.4 实战项目:猜你喜欢 416
14.4.1 需求描述 416
14.4.2 界面设计 417
14.4.3 关键代码 418
14.5 小结 419
14.6 课后练习题 420
第15章 打造安装包 422
15.1 应用打包 422
15.1.1 导出APK安装包 422
15.1.2 制作App图标 425
15.1.3 给APK瘦身 426
15.2 规范处理 429
15.2.1 版本设置 429
15.2.2 发布模式 431
15.2.3 给数据库加密 433
15.3 安全加固 435
15.3.1 反编译 435
15.3.2 代码混淆 437
15.3.3 第三方加固及重签名 439
15.4 小结 440
15.5 课后练习题 440
附录 综合实践课题 442
移动应用开发又称App开发,它是近年来的新兴软件开发行业。目前App开发主要有两大阵营,其一是苹果公司推出的iOS系统,其二是谷歌公司主导的Android系统(中文名为安卓),由于iOS是闭源的,而Android是开源的,因此众多厂商纷纷为Android生态添砖加瓦,使得Android系统在App开发中占据了大部分市场份额。
早期的安卓App只运行于智能手机,随着Android生态的发展壮大,安卓系统也逐步拓展到平板电脑、智能电视、车载大屏、智能家居、智能手表等诸多设备。并且随着5G网络的持续铺开,各种智能设备的应用日益广泛,必将带动App开发人才的市场需求再度高涨。
为了帮助初学者快速掌握App开发的基础技能,笔者结合自己多年的App开发经验,总结企业当中的常用App技术,基于当前最新的Android版本与Android Studio版本,编写了这本从App零基础到App入门再到项目实战的App开发教程。只要读者具备Java编程基础,就能开始本书的App开发学习。本书在讲解过程中,不但详细描述基础的开发技巧,而且注重介绍新特性新框架,并且摒弃过时的用法,确保读者学到最新的开发技能,即使是中高级开发者,也能在阅读本书后受益。
本书内容结构
全书共有15章,主要内容说明如下:
第1章介绍了Android开发环境的搭建过程,包括如何安装Android Studio,如何创建App工程,以及如何编译与运行App。
第2章详细阐述了Android开发的基础知识,包括App有哪些开发特点,App工程是怎样组织的,App为何采取界面与代码分离的设计规范。
第3章学习Android简单控件的用法,主要包括文本显示、按钮点击、图像显示、布局排列等初级的界面控件操纵。
第4章描述了Android四大组件之一活动(Activity)的概念及其运用,包括活动的生命周期、活动的启动模式,如何在活动之间传递消息,如何给活动补充附加信息等。
第5章学习Android中级控件的用法,主要包括简易的图形定制,以及选择按钮、编辑框、对话框等控件的人机交互。
第6章讲解了几种常见的数据存储技术,包括采取键值对的共享参数、嵌入式数据库SQLite、存储卡上的文件操作,以及Application组件的全局用法。
第7章描述了如何使用Android四大组件之一的内容提供器(ContentProvider),以及与之搭配的内容解析器和内容观察器,还介绍了共享文件需要的文件提供器用法。
第8章学习Android高级控件的用法,主要包括下拉框、列表视图、网格视图、翻页视图及其对应的适配器,还介绍了碎片(Fragment)的两种注册方式。
第9章描述了Android四大组件之一广播(Broadcast)的概念及其运用,包括如何收发应用自身的广播,如何监听系统发出的广播,以及如何捕捉屏幕变更事件。
第10章介绍了Android自定义控件的常用技术,包括视图是如何构建的,几个自定义控件的例子,以及简单动画的实现过程。
第11章讲解了几种在后台工作的组件用法,包括消息通知、Android四大组件之一的服务(Service),以及多线程技术在App开发中的运用。
第12章学习Android组合控件的用法,主要包括底部标签栏、顶部导航栏、循环视图的三种布局,还介绍了第二代翻页视图的使用。
第13章讲解了几种常见的多媒体技术,包括相片的拍摄、选取和加工,音频的录制和播放,视频的录制、选取和播放等。
第14章描述了App开发中的网络通信技术,包括访问HTTP接口,使用下载管理器,以及图片加载框架Glide的详细用法。
第15章详细阐述了App安装包的打造步骤,从导出APK文件,到发布模式的规范处理,再到安装包的安全加固,一步步打造符合业界标准的App安装包。
本书特点
根据新版本编写:本书所有代码都基于Android Studio 4.1开发,并使用API 30的SDK(Android 11)编译与调试通过。
只要你具备Java基础,即可以使用本书快速开发自己的移动应用,本书特别针对开发新手介绍了Android App的开发特点,比如,App工程的组织、界面与代码分离的设计规范、数据库的选择等,使读者真正能够掌握一个App的工程结构和原理,解决读者开发中的困惑。
一步一步教学,全代码注释:本书充分考虑到初学者的学习特点,全书内容安排循序渐进、由易到难,同时尽可能地采取一步一步的教学方法,并对所有代码进行了详尽的注释,对于从未接触过Android开发的读者,本书可以说是一本极佳的入门教程。
技术新颖,项目丰富:各章在叙述过程中,穿插介绍了近期Android系统的新特性与新框架,包括但不限于Shortcuts、ViewPager2、ImageDecoder、Room、Gson、Glide等,还给出了8个精心设计的实战项目,包括计算器、找回密码、购物车、记账本、广告轮播、电商首页、评价晒单、猜你喜欢,帮助读者学以致用,掌握实战技能。
配练习题:除了常规的理论讲解与实战项目,各章末尾还有5种类型共267道练习题和动手项目,方便读者检查自己的学习成果。
资源丰富:本书配套提供的PPT教学课件、练习题参考答案以及完整的范例源码,非常适合Android课程的教学使用。
本书资源下载
扫描右侧二维码可下载本书配套资源,也可访问笔者的github主页(地址是https://github.com/aqi00/myapp获取最新源码)。
如果下载有问题,请联系[email protected],邮件主题为“Android App开发入门与项目实战”。
最后,感谢王金柱编辑的热情指点,感谢出版社同仁的辛勤工作,感谢我的家人一直以来的支持,感谢各位师长的谆谆教导,没有他们的鼎力相助,本书就无法顺利完成。
欧阳燊
2020年10月
评论
还没有评论。