-
绪章绪论
绪论
-
●0.1移动APP开发技术
本节主要介绍了移动APP开发技术的类型:原生APP开发、web移动APP开发、混合移动APP开发,可以特别关注一下跨平台移动APP开发技术。
-
●0.2移动APP开发编程语言及特点
本节主要介绍移动APP开发编程语言: HTML5 +Javascript、Java、Python、Swift、C#、Kotlin、PHP、Ruby、Rust等
-
●0.3移动APP开发测试
本节主要介绍移动app 开发测试的类型及测试意义,并分别从功能测试、性能测试、内存泄漏测试、中断测试、可用性测试、负载测试、安装测试、安全测试、实验室测试、接口测试等进行讲解
-
●0.4成功移动APP开发要素
本节主要从实用和社会需求应用方面提出的移动APP开发成功的几个关键要素,重点考虑开发应该是解决真正问题和社会痛点难题。
-
第一章Android 启航
从本章开始我们将带领大家进入Android奇妙世界。通过本章的学习,大家可以掌握Android开发环境的构建,Android应用程序框架、Android生命周期,带领大家运行第一程序,了解程序中资源及运行过程。
-
●1.1通信技术发展
本节介绍了通信技术发展,熟悉通信技术从1G到5G的发展过程,关键技术。
-
●1.2Android发展介绍
本节课介绍了Android操作系统的发展历史,从最初的创建到Google的发展,展现了Android系统不同版本的发展历程。
-
●1.3Android系统架构
本节课介绍了Android系统的四层体系架构及每层的组成和功能,四层由高到低依次为应用程序层、应用程序框架层、核心类库、Linux内核层。
-
●1.4Android环境搭建
本节课介绍了Android Studio开发环境的搭建,从Android Studio的下载到安装进行了详细讲解。
-
●1.5运行第一个项目
本节课讲解如何使用Android Studio开发工具编写第一个Android程序,完成创建程序后,启动模拟器,运行程序。
-
●1.6详解项目中资源
本节课以上节课创建的第一个Android程序为例,介绍Android程序的主要组成结构,详细介绍了Android程序中相关的文件,清单文件、布局文件、res文件夹下的图片资源文件、字符串资源文件、颜色资源文件、样式资源文件等。
-
●1.7程序运行过程详解
本节课分析了创建的第一个程序运行工程,详细分析了Android程序中各个文件的关联性,分析了程序的执行过程。
-
第二章Activity
Activity是Android四大组件之一。本章主要讲解了Activity的创建、跳转、数据传递与数据回传,以及Activity的生命周期与启动模式。
-
●2.1Activity创建
本节主要讲解了Activity活动页面的创建、在Activity中实现Toast吐司功能以及活动页面的销毁。
-
●2.2Activity中的显式意图
Activity中的Intent意图分为显式意图与隐式意图,显式意图是明确指定组件名称的跳转方式,本节利用显式意图实现了由“诗经”首页到“风”页面的跳转。
-
●2.3Activity中的隐式意图
隐式意图是指不明确指定组件名称的跳转方式,可以实现不同应用程序之间的跳转,具有比显式意图更强大的功能,本节利用隐式意图实现了打开系统照相机的功能。
-
●2.4Activity生命周期
本节课讲解了Activity生命周期的三种状态:运行状态、暂停状态、停止状态,并通过两个活动页面的跳转,查看Activity生命周期方法变化的过程。
-
●2.5Activity的四种启动模式
本节课讲解了Activity中的四种启动模式:standard,singleTop,singleTask,singleInstance,并通过实例演示了四种启动模式下页面的返回顺序。
-
●2.6Activity中的数据传递
本节课讲解了Android中数据传递的两种方式:贴标签方式与背书包方式,在实际项目开发中,根据需要选择合适的数据工。
-
●2.7Activity中的数据回传
本节课讲解了Activity中的数据回传,此时启动页面需要用startActivityForResult()方法来实现页面跳转,而返回页面需要用到setResult()方法来返回数据。
-
●2.8引导页的创建
本节课讲解了Activity中引导页的设计,给“诗经”项目添加了引导页,并实现了修改应用程序图标与名称的功能。
-
第三章UI设计
在Android应用中,界面是由布局和控件组成的,Android中定义了相应的布局进行管理,并提供了非常丰富的界面控件,本章针对Android中常见的布局和界面控件进行详细的讲解,带领大家一起完成优美古诗词界面的设计。
-
●3.1Android中常见界面布局
本节课主要介绍常见界面布局的特点及用法,讲解Android系统中常用的RelativLayout(相对布局)、LinearLayout(线性布局)、FrameLayout(帧布局)、PercentRelativeLayout、PercentFrameLayout(百分比布局)。针对这些布局的通用属性、特殊属性进行介绍,让大家能够在灵活使用。
-
●3.2Android中常用控件
本节介绍了Android中常用控件的使用,包括简单控件TextView、Button、EditText、ImageView属性设置和使用,及用于提示用户重要信息的AlertDialog对话框的使用,通过一个个具体的案例讲解它们的用法,让大家进入初步的界面设计。
-
●3.3诗经APP用户登录界面设计
本节课利用前面所讲的布局和控件,带领大家一起来设计诗经APP用户登录界面,通过实战更加深入学习布局和控件的属性和用法。
-
●3.4诗词内容简单呈现——ListView控件
本节针对ListView控件进行详细的讲解,介绍ListView控件属性设置,常见适配器的使用,通过展示诗经中诗词为例,讲解了如何对ListView控件进行数据适配,以列表形式展示数据内容。
-
●3.5诗词内容优化呈现——RecyclerView
Android5.0之后,Google提供RecylerView控件,RecylerView控件同样以列表的形式展示数据,通过适配器加载数据,本节课分析了RecyclerView的优势,运用RecylerView控件展示诗词列表。
-
第四章灵活的界面
随着移动设备的迅速发展,手机的屏幕大小的差异性,使同样的界面在不同的手机设备上显示出不同的效果,本章详细讲解了Fragement的创建与使用、与ViewPager结合使用,标题栏设置、底部导航栏设置、轮播如设置、侧滑菜单设计,在界面上模块化管理,使程序更加合理和充分地利用屏幕空间,灵活设计界面。
-
●4.1Fragment
本节课介绍了Fragment的特点和用法,在页面中借助Fragment充分地利用屏幕空间,完成Fragment之间、Fragment与Activity间数据通信,灵活设计界面。
-
●4.2ViewPager
本节课利用ViewPager与Fragment结合,完成诗经APP基本页面的设计,在此页面上灵活设置标题栏、底部导航栏,处理滑屏翻页事件,使页面设计更加实用,美观。
-
●4.3轮播图
本节课介绍了Android中第三方控件图片轮播控件Banner,使用Banner控件灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架,在页面首页添加图片轮播效果。
-
●4.4侧滑菜单
本节课讲解了侧滑菜单的布局特点和用法,从DrawerLayout入手,详细讲解了如何创建Google自带的DrawerLayout + NavigationView的侧滑菜单和带工具条的侧滑菜单,带领大家通过案例实现侧滑,解决手机屏幕有限的问题。
-
第五章持久化存储
所有应用程序都必然涉及数据的输入、输出,Android应用也不例外,应用程序的参数设置、程序运行状态数据这些都需要保存到外部存储器上,这样系统关机之后数据才不会丢失。根据不同数据的不同存储需求,Android提供给我们五中存储方式,本章针对其中常见的三种:SharedPreferences、文件存储、SQLite数据库存储结合诗经APP案例进行详细讲解。
-
●5.1数据存储方式与SharedPreferences简介
Android中数据存储分为五种,文件存储、SharedPreferences存储、SQLite数据库存储、ContentProvider、网络存储。本章针对这五种方式进行介绍,并着重介绍常用于存储简单数据键值对的SharedPreferences存储方式。
-
●5.2SharedPreferences案例-用户登录信息存储
不同于文件的存储方式,SharedPreferences 是使用键值对的方式来存储数据的。而且 SharedPreferences 还支持多种不同的数据类型存储。所以使用 SharedPreferences 来进行数据持久化要比使用文件方便很多。本章用SharedPreferences 实现诗经案例的用户注册登录功能。
-
●5.3文件存储
文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。如果你想使用文件存储的方式来保存一些较为复杂的文本数据,就需要定义一套自己的格式规范,这样方便于之后将数据从文件中重新解析出来。
-
●5.4SQLite 数据库存储
SQLite 是一款轻量级的关系型数据库,它的运算速度非常快, 占用资源很少,通常只需要几百K的内存就足够了,因而特别适合在移动设备上使用。SQLite 不仅支持标准的 SQL 语法,还遵循了数据库的 ACID 事务,所以只要以前使用过其他的关系型数据库,就可以很快地上手 SQLite。而 SQLite 又比一般的数据库要简单得多,它甚至不用设置用户名和密码就可以使用。Android 正是把这个功能极为强大的数据库嵌入到了系统当中,使得本地持久化的功能有了一次质的飞跃。本章我们将用户注册登录功能用数据库再次改进实现。
-
第六章网络访问
本章讲解Android使用内置HttpURLConnection和第三方库Retrofit访问网络。
-
●6.1后端API准备
网络访问需要后端接口配置,本课程提供了 nodejs 开发的后端,按照说明部署即可。
-
●6.2使用HttpURLConnection访问网络(上)
这节课的主要内容是讲通过HttpURLConnection客户端发送和接收数据的上部分。将我们的诗经学习APP的推荐页面内容,从原来的静态内容改为从网络读取。
-
●6.3使用HttpURLConnection访问网络(下)
这节课的主要内容是讲通过HttpURLConnection客户端发送和接收数据的下部分。将我们的诗经学习APP的推荐页面内容,从原来的静态内容改为从网络读取。
-
●6.4使用 retrofit
本节使用 retrofit 实现网络访问的步骤。包括:添加 retrofit 依赖,创建 retrofit 实例,创建 API 声明,发送网络请求。
-
●6.5retrofit项目实践
本节使用Retrofit库访问后台接口,为今日诗词的测试准备,把题库从网络后台读取,保存在列表中。
-
第七章多媒体技术
本章主要讲解了音频、视频的播放过程以及使用到的MediaPlayer类、VideoView控件,讲解了Android程序开发中实现语音合成、二维码生成、图形绘制常用的第三方开发库控件的使用,通过对本章知识的学习,希望大家能够开发一些具有多媒体功能的程序,丰富用户的视觉和听觉效果。
-
●7.1音频播放技术
本节课主要讲解了MediaPlayer类进行音频播放的用法,介绍了MediaPlayer类的状态和常用控制方法,案例中使用MediaPlayer类播放《在水一方》歌曲。
-
●7.2视频播放技术
本节课重点介绍了VideoView类的状态和常用方法,利用VideoView播放视频文件;同时借助第三方视频播放控件jiecaovideoplayer,更加快捷方便地进行视频播放和控制。
-
●7.3语音合成
本节课讲解了使用百度AI中语音合成控件实现文本文件的朗读,带领大家学习技术文档的查询,语音合成库SDK的调用、文本朗读的实现,一起感受智能化生活。
-
●7.4二维码生成识别
本节课介绍了二维码生成的第三方控件Zxing的使用,通过该控件将诗词内容生成二维码。
-
●7.5绘制图形—第三方控件MPAndroidChart
本节课介绍了绘制图形的第三方控件MPAndroidChat的使用,利用该控件将数据信息以折线图、柱状图、饼图等不同类型展示出来,更加直观地进行数据比较和分析。
-
第八章服务
Service是Android应用程序中的一个组件,与用户不进行交互,可以长期的执行在后台。当新建一个服务的时候需要在AndroidManifest.xml文件中进行声明。服务可以通过Context.startService()和Context.bindService()来进行启动。服务类似于其他应用程序的对象,运行在主线程中。这就意味着你如果在服务中进行耗时的操作,你需要开启一个子线程去处理这个操作,当应用程序进程被杀死,所有依赖该进程的服务也会停止运行。
-
●8.1服务的基本概念
本节讲解服务的基本概念,生命周期和适用条件
-
●8.2服务的建立与两种使用方式
本节讲解服务的两种建立和使用方式,两种方式各自的优缺点以及基本的语法。
-
●8.3startService方式启动服务
本节介绍两种启动方式之一的startService启动方式及其实现方法
-
●8.4bindService方式启动服务
本节介绍绑定方式启动服务的实现细节和注意问题以及该方式下服务的调用和绑定解除。
-
●8.5使用服务方式实现音乐播放器
本节介绍播放器组件的基本用法,以及使用服务方式实现一个音乐播放器的具体方法。
-
第九章消息推送
本章讲解消息推送。当服务器有新信息了,主动把最新的信息发送到客户端APP上,这就是推送。现在有很多第三方框架都实现了推动功能,例如:百度推送、极光推送、个推推送,等等。因为第一时间知道数据发生变化的,是服务器自己,所以推送的优势就在于消息实时性更新。如果采用轮询的方式去查询数据,是无法在第一时间获取最新的消息信息的。为了追求客户端较高的响应速度,使用推送技术推送消息,用户体验是比较好的。
-
●9.1推送通知
当程序开发需要和服务器进行交互时,基本上都是获取服务端的数据进行展示。从服务器上获取信息,我们有两种方式:第一种是客户端使用PULL也就是拉的方式,用户主动操作,在APP上每隔一段时间就去服务器上获取一下最新信息,看是否有更新的消息出现。第二种方式是服务器使用PUSH推送的方式获取信息。当服务器有新信息了,主动把最新的信息推送到客户端上。这样,客户端就能自动接收到消息,不需要用户在APP上做任何操作。推送技术的数据传递方向是服务端主动发数据给客户端。本小节介绍使用极光推送来完成推送通知的功能。
-
●9.2推送自定义消息
自定义消息就是自己编写接收消息的UI逻辑,自行编写代码完成弹出Toast提示语或弹出通知栏提示。它和推送通知的区别就在于,推送通知,是有通知栏提示的,推送自定义消息是没有任何UI提示的。本小节将介绍极光推送自定义消息的使用方法
-
第十章项目发布
本章将完成的项目进行发布,发布为正式签名的APK文件,便于用户安装使用。
-
●10.1项目发布
本章将完成的项目进行发布,发布为正式签名的APK文件,便于用户安装使用。