-
第一章Android Studio开发环境
Android应用环境的配置,包括如何安装Android Studio、环境参数的配置、模拟器的配置、Wifi无线调试配置、plugins的安装与配置。
-
●1.1Android Studio的安装
本节介绍Android Studio及Android SDK的安装。包括如何下载软件,如何把Android SDK整合到Android Studio,使其正常工作。
-
●1.2Android Studio的环境配置
Android Studio安装完成后,对开发环境进行配置。包括:字体设置、主题设置、字体缩放、自动导入库、优化编译速度以及使用内存配置。
-
●1.3Android模拟器的安装
介绍Android程序调试环境的构建。包括Intel处理器计算机如何创建模拟器、AMD处理器如何创建模拟器、如何使用WIFI连接手机进行无线调试。
-
●1.4Wifi连接手机真机无线调试
使用手机调试Android手机时需要连接数据线,造成不便。这里介绍如何在同一WIFI网络下使用手机进行无线调试,主要内容包括手机中参数设置、通信端口设置,相关连接与断开命令。
-
●1.5Android Studio中配置UML类图配置
开发较大项目时涉及较多的类,可以使用Android Studio的UML类图插件以图形化的方式显示各个类之间的关系。这里介绍PlantUML插件如何安装,并以一个项目为例来展示这一UML扫描件的使用。
-
●1.6Android程序的调试
Android Studio下对程序进行调试主要有两种方式:Logcat与断点。本节这两种调试技术如何使用。
-
第二章Activity的使用
Activity是Android开发中的第一大组件。本章介绍Activity的基本概念与使用方法。包括如何定义Activity,如何在Activitya中使用菜单,显式与隐式两种类型Activity的使用,如何在Activity间传递数据,以及Activity的生命周期。
-
●2.1Activity基本用法
本小节介绍Android工程中Activity的组成,如何创建与使用最简介的Activity。
-
●2.2在Activity中使用Memu
本节简介如何在Activity中使用菜单。介绍菜单如何创建,如何添加菜单项,如何给菜单项添加动作响应。
-
●2.3Intent的显式与隐式用法
Intent有两种使用方式,一种是显示调用,另一种是隐式调用。本小节介绍这两种Intent调用方式的使用。
-
●2.4更多intent的隐式用法
本节介绍更多隐式Intent的用法。系统中定义了若干隐式Intent,本节以打开网址、拨打电话为例来介绍系统隐式Intent的使用。
-
●2.5使用Intent在Activity中传递数据
本小节介绍在多个Intent间如何传递数据,其实现方式有两种,一种是把当前Intent中的数据传递到下一个Intent,另一种是当前Intent销毁时把数据传递到上一个Intent。本节介绍这种Intent间数据传递方式的实现。
-
●2.6Activity的生命周期
Android应用程序由若干Activity构成,Android系统使用返回栈管理这些Activity的生命周期。每个Activity存以运行、暂停、停止和销毁四种工作状态。本节介绍Activity各运行状态的特点及每个状态的启停与调用关系。
-
第三章常用控件的使用
Android应用程序界面由一系列的控件构成,本章介绍TextView、Button、EditText、ImageView、ProgressBar和AlertDialog等常用控件的使用。
-
●3.1TextView的使用
TextView用于呈现文本。本节介绍在布局界面上如何添加TextView,常用属性的设置,使用代码更新TextView内容。
-
●3.2Button的使用
按钮Button是最常用的交互控件,用于点击后做出指定响应。本节介绍如何向布局界面上添加按钮,常用的属性使用,对点击事件做出响应的方式。
-
●3.3EditText的使用
EditText是可编辑文本控件,可以用于录入文本。本节介绍如何向布局界面中添加EditText控件,常用的属性设置,如何使用程序操作EditText。
-
●3.4ImageView的使用
ImageView使用显示图片,是最常用的控件。本节介绍如何添加ImageView控件,常见的几种图片缩放方式,常用属性如何设置,如何使用程序更新ImageView。
-
●3.5ProgressBar的使用
ProgressBar用于显示进度条。本节介绍如何向布局界面添加ProgressBar控件,如何设置进度值,外观如何设置。
-
●3.6AlertDialog的使用
AlertDialog用于展示提示性信息。本节介绍如何添加AlertDialog控件,实现方式,如何对点击事件做出反应。
-
第四章界面布局
Android开发中使用界面布局管理器来组织控件,控制其显示位置及相互关系。常用的布局有线性布局、相对布局、帧布局、约束布局以及碎片。本章将系统介绍以上几种布局管理器的使用。
-
●4.1布局的基本知识
本小节介绍Android布局的基本知识。介绍常用的几种布局形式,以及各种布局之间的继承关系,父控件与子控件的概念、Layout的几种布局关系,gravity与padding的相关概念。
-
●4.2线性布局LinearLayout
线性布局是最常用的布局方式。本节介绍线性布局LinearLayout的使用,设计视图与代码布局视图的使用方式。以按钮的布局为例讲解线性布局的具体使用,常用布局参数的使用。
-
●4.3相对布局RelativeLayout
相对布局RelativeLayout易于使用,是使用较多的一种布局方式。本小节讲解根据父容器定位与根据兄弟组件定位两种对齐方式,以及相关对齐属性的设置,以按钮的位置定位为例讲解两种定位方式的实现。
-
●4.4帧布局FrameLayout
帧布局使用简单,易于使用。本节以两张图片的帧布局为例,讲解其使用方法。
-
●4.5约束布局ConstraintLayout
约束布局ConstraintLayout是Android Studio推荐的布局方式,可以用拖曳的方式进行布局。本节讲解从控件布局与辅助工具两个角度进行讲解。内容包括相对于场景布局、相对于其它控件布局、相对于参考线Guideline的布局三种布局方式,以及相关布局参数的设置。以Autoconnet与Inference为例讲解布局辅助工具的使用。
-
●4.6Fragment的使用
Fragment指可重用的界面元素,把常用控件可制作为Fragment,以便于使用。本小节分两个视频,介绍Fragment布局文件、布局类文件以及静态与动态调用Fragment的方法。
-
●4.7底部导航栏BottomNavigationView
本节介绍使用BottomNavigationView与Frgment来制作底部导航栏。BottomNavigationView用于向界面加入导航菜单,并监听菜单项点击事件,Fragment根据点击的菜单项加载不同的内容。本节具体讲解内容包括菜单项的设计、设计与菜单项对应的Fragment的类文件、如何在主界面布局中加入FrmeLayout与BottomNavigationView,如何在主程序中处理菜单点击事件,加载被点击菜单项对应的Fragment。
-
第五章Android的安全管理
新版本的Android系统加强了安全管理。本章将系统介绍Android权限管理的概念、普通权限的使用、危险权限的使用以及常用的权限处理库EasyPermission的使用。
-
●5.1Android权限管理简介
本节介绍Android中普通权限与危险权限的概念,两类权限的列表以及使用情景。
-
●5.2Android普通权限的使用
本节介绍Android中普通权限的使用,以最常见的网络访问权限的使用为例介绍普通权限的使用,内容包括权限声明、权限配置、权限使用,以及对其它普通权限的使用一般流程处理。
-
●5.3Android危险权限的使用
本节以拨打电话为例介绍Android中危险权限使用的流程。内容包括如何声明危险权限,如何在程序运行时动态申请危险权限。
-
●5.4EasyPermissions库的使用
本节介绍最经常使用的第三方权限类库EasyPermissions的使用。内容包括常用第三方权限类库及比较,如何配置EasyPermission类库及使用方法。
-
第六章内部存储
本章介绍Android系统的内部存储。内容包括内部存储的目录结构,使用文件访问内部存储,使用SharedPreferences存取数据、使用LitePal操作SQLite以及使用原生SQL操作SQLite。
-
●6.1Android存储的目录结构
Android的存储由两部分组成,机身存储与外插的SD卡。机身存储由也由两部分构成,第一部分为内存RAM,即运行内存,第二部分由内部存储(data)与机身外部存储(storage)构成,相当于计算机的硬盘部分。
-
●6.2内部存储-使用文件访问内部存储
本节介绍使用文件来进行数据的保存与读取。对文件存取要提供文件名,由系统根据文件名自动保存到指定位置。有追加存储与覆盖存储两种模式。本节演示Android中存储与读取数据的两种方式,介绍流式文件操作的具体实现。
-
●6.3内部存储-SharedPreferences存取数据
本节介绍使用SharedPrefreferences来存取数据。这种模式下数据以键-值对的形式存储到xml中,存放于/da/ta/data//shared-prefs/目录下,有覆盖模式(MODE_PRIVATE)与追加模式(MODE_APPEND)两种处理模式。本小节将以一个具体的示例演示SharedPrefreferences的具体操作过程。
-
●6.4内部存储-使用LitePal操作SQLite
使用原生SQL操作Android系统中的SQLite比较繁琐,库LitePal对操作过程进行了包装,简化了操作过程。本节示例演示LitePal的使用方法,包括库的导入、xml文件的配置、增、删、改、查以及新建库的过程。
-
●6.5内部存储-使用原生SQL操作SQLite
本节演示通过SQLite提供的API来实现数据库的CRUD(创建、读取、更新与删除)操作。
-
第七章内容提供程序与存储访问框架
内容提供程序实现了精细数据访问权限控制,实现不同应用间共享数据,控制其它应用可访问数据内容,配置读取与写入权限。同时,内容提供程序提供了访问权限的细节抽象化,为不同资料类型提供统一的访问接口。本章主要介绍内容提供程序的权限控制机制、系统内置ContentProvider的功能、自定义ContentProvider的实现、存储访问框架SAF的使用等内容。
-
●7.1内容提供程序ContentProvider
本节介绍ContentProvider内容提供程序。ContentProvider是Android四大组件之一,通过ContentProvider可以把应用内部存储数据以合适的权限控制提供给其它应用调用,实现应用间数据共享的需求。
-
●7.2系统内置ContentProvider的使用
以读取手机通讯录为例介绍内置ContentProvider的使用,内容包括在Android模拟器中添加通讯录联系人,配置通讯录读取权限,然后使用内置ContentProvider获取通讯中的联系人姓名、手机号码和邮件地址。
-
●7.3自定义Content Provider概述
介绍自定义Content Provider类的实现。在Server端需自定义类需要继承ContentProvider类,并实现delete、insert、query、update、getType和onCreate六个方法。客户端通过uri中的Authority查找满足条件的Server端,然后实现两者数据交互。
-
●7.4自定义Content Provider的实现
本节以示例的形式介绍自定义ContentProvider的实现。包括Server端与Client端两个Android应用,Server端增加自定义ContentProvider类,向其它APP提供访问自身私有Sqlite数据的功能,Client端通过ContentProvider获取Server端的Sqlite数据。
-
第八章网络访问技术
本章介绍Android的网络控制技术。内容主要包括PHP服务器环境的搭建,使用Reftrofit与JSON来访问互联网数据,Websocket技术简介。基于以上技术实现简单的多终端聊天系统。
-
●8.1布置PHP服务器环境
本节介绍如何部署PHP服务器环境,为Anroid开发网络应用服务。内容包括Mysql的安装,Navicat软件的安装与使用,Apache与PHP环境的搭建。
-
●8.2JSON
本小节包括两个视频,分别介绍JSON的基本知识、Java对象和JSON的相互转换。JSON结构简单,构建与解析迅速,现已代替xml用于网络数据交互。
-
●8.3Reftrofit+JSON访问网络数据
本节介绍使用Retrofit与JSON访问网络服务器上的数据。内容包括Retrofit库的下载与配置、JSON数据的特点,以及如何使用这两个组件与服务器上Mysql数据库进行交互。
-
●8.4基于Websocket的群聊天
本节基于Websocket技术实现一个简易聊天系统。内容包括Websocket技术介绍及配置,手机发送端程序、网络服务器端程序、手机接收端程序。核心是把数据包装为JSON,通过Websocket技术实现手机端与服务器端的数据长连接,实现一对多的群发。
-
●8.5作业-中英文互译APP的实现
本次作业要求实现汉语与英语互译的APP。调用“小牛翻译”平台提供的翻译接口,设计视频中的简单UI界面,实现汉语翻译为英语、英语翻译为汉语的功能。
-
第九章Android与多媒体技术
Android手机的一大功能是多媒体娱乐功能,实现录音、录像、图片展示等。本章介绍如何使用Android系统开发多媒体应用程序。内容包括本地图片、网络图片的加载,视频播放功能,仿B站弹幕功能等多媒体技术的实现。
-
●9.1本地与网络图片的加载与变换
本节介绍图片的展示功能,包括展示本地手机上的图片、展示网络上的图片,以及通过GPUImage库实现对图片的实时处理与变换。
-
●9.2网络媒体播放
本节介绍Android开发中常用的MediaPlayer、ExoPlayer与ijkPlayer等媒体播放库,以及常见的几个媒体播放整合库。并以DKPlayer以例介绍本地视频、网络流媒体视频等的具体播放控制的实现。
-
第十章高级控件
本节介绍Android中RecyclerView控件的实现,通过此控件实现垂直滚动显示、水平滚动显示以及瀑布流效果。
-
●10.1RecyclerView的使用
本节介绍Android中RecyclerView控件的实现,通过此控件实现垂直滚动显示、水平滚动显示以及瀑布流效果。
-
第十一章Android的Native编程
本章介绍Android的Native编程技术,即在Android中实现Java与C/C++互调。内容包括Native编程中C/C++与.so库的调用关系,JNI编程简介、JNI的NDK编程的静态注册与动态注册、CMake编程方式、JNI编程调试技术、JNA编程简介、Native编辑中Java、C/C++与.so库的互调等。
-
●11.1JNI入门
JNI实现了Java与其它语言互调的协议。适用于高计算量、复用已有库与隐藏算法实现等场景。