课程试听
正在播放
第一章 Android基础阶段
1-1 web基础之html入门
  • html的简介之什么是html
  • html的简介之操作思想
  • 字体标签和注释标签
  • 列表标签
  • 图形标签
  • 超链接标签
  • 表单标签(上)
  • 表单标签(中)
  • 表单标签(下)
  • 其他标签
  • 表格标签(上)
  • 表格标签(下)
  • 注册案例(上)
  • 注册案例(下)
1-2 web基础之css入门
  • css的简介
  • css和html的结合方式
  • css的选择器(上)
  • css的选择器(中)
  • css的选择器(下)
1-3 web基础之JavaScript入门
  • js的简介
  • js与html的结合方式
  • js的原始类型和变量声明
  • js的引用类型和类型转换
  • js的语句
  • 练习99乘法表
  • js的运算符
  • js的数组
  • js的String对象(上)
  • js的String对象(下)
  • js的Array对象(上)
  • js的Array对象(下)
  • js的Math对象
  • js的Date对象
  • js的RegExp对象
  • js的bom对象(上)
  • js的bom对象(下)
  • js的全局变量和局部变量
  • js的全局函数
  • js的函数的创建与使用(上)
  • js的函数的创建与使用(下)
1-4 web基础之JavaScript高级
  • js的事件的简介
  • js的常用事件(上)
  • js的常用事件(下)
  • dom简介(上)
  • dom简介(下)
  • document对象(上)
  • document对象(下)
  • innerHTML属性
  • 练习-动态生成表格
  • 表单的提交方式
  • 表单的校验
  • json的简介
  • js解析json
  • json练习
1-5 web基础之mysql数据库入门
  • 数据库的简介
  • mysql的安装和卸载
  • mysql的存储结构
  • sql的简介
  • 使用sql对数据库的操作
  • 使用sql对表进行操作
  • 使用sql对表中的记录进行操作(上)
  • 使用sql对表中的记录进行操作(中)
  • 使用sql对表中记录进行操作(下)
  • 使用order by对表中记录进行排序
  • 聚集函数(上)
  • 聚集函数(下)
  • 分组操作
  • mysql可视化工具的使用
  • limit关键字
  • 重置mysql的root密码
1-6 web基础之JDBC入门
  • JDBC简介
  • JDBC入门案例
  • JDBC的DriverManager对象
  • JDBC的Connection对象和Statement对象
  • JDBC的ResultSet对象
  • JDBC释放资源
  • 使用jdbc实现crud操作(上)
  • 使用jdbc实现crud操作(下)
  • jdbc工具类的封装(上)
  • jdbc工具类的封装(中)
  • jdbc工具类的封装(下)
  • 使用jdbc工具类实现crud操作(上)
  • 使用jdbc工具类实现crud操作(下)
  • 登录操作
  • sql注入的演示
  • 使用预编译对象防止sql注入
  • 使用预编译对象实现查询和增加操作
  • 使用预编译对象实现修改和删除操作
1-7 web基础之xml入门
  • xml的简介
  • xml的文档声明和元素定义
  • xml属性定义、注释和CDATA
  • xml解析简介和dom解析
  • sax解析xml
  • pull解析的简介
  • pull解析xml操作
  • pull序列化操作
1-8 web基础之tomcat入门
  • web相关概念的介绍
  • web服务器介绍
  • tomcat的安装和目录结构(上)
  • tomcat的安装和目录结构(中)
  • tomcat的安装和目录结构(下)
  • 发布项目到tomcat(上)
  • 发布项目到tomcat(下)
  • myeclipse整合tomcat
1-9 web基础之http协议入门
  • http协议简介
  • 使用抓包工具查看http协议
1-10 web基础之servlet入门
  • servlet的入门
  • servlet的执行过程
  • servlet的生命周期
  • servlet开发的细节问题(上)
  • servlet开发的细节问题(下)
  • url-pattern的配置
  • 开发中的路径问题(上)
  • 开发中的路径问题(下)
  • 重定向和转发
  • ServletConfig对象(上)
  • ServletConfig对象(下)
  • ServletContext对象(上)
  • ServletContext对象(下)
  • 练习 统计网站访问次数
  • 使用servletContext对象读取web项目中资源(一)
  • 使用servletContext对象读取web项目中资源(二)
  • 使用servletContext对象读取web项目中资源(三)
  • 使用servletContext对象读取web项目中资源(四)
  • 使用类加载器读取文件
  • 默认servlet
1-11 web基础之Request和Response入门
  • response的简介
  • 重定向的案例分析
  • 重定向的案例代码实现
  • 定时跳转的案例
  • 定时跳转的案例倒计时
  • 设置响应体
  • 验证码实现步骤的分析
  • 代码实现验证码
  • 刷新验证码
  • 文件下载案例
  • request获取请求数据和客户机信息
  • request获取表单提交数据(上)
  • request获取表单提交数据(下)
  • request获取表单提交中文数据
  • request域对象简介
  • 重定向和转发的区别
  • 转发案例分析
  • 转发案例代码实现
  • response的流的注意事项
1-12 Android开发入门体验
  • 通讯制式
  • Android的现状
  • Android的发展和平台数据
  • Android的体系结构
  • 虚拟机的比较
  • art模式
  • android开发工具的获取
  • 开发环境的目录结构
  • helloworld工程&部署到模拟器
  • adb常见指令
  • 环境变量的配置
  • ddms简介
  • android工程的目录结构
  • 电话拨号器
  • 应用程序的权限
  • 应用程序开发的流程
  • 线性布局入门
  • 线性布局综合案例
  • 相对布局的使用
  • 帧布局
  • 表格布局和绝对布局
  • 常见单位
  • 小案例-qq大盗
  • 点击事件的四种写法
1-13 Android开发测试和打印日志
  • 测试相关的概念
  • Android下的junit测试
  • logcat使用
1-14 Android开发文件操作
  • qq登陆的ui界面
  • Android下的文件存储
  • 方便api获取文件目录
  • sd卡操作
  • 文件的权限
  • 文件的权限-创建公有的文件
  • 文件访问权限
  • sharedpreference保存数据
  • 利用sp开发一个设置功能
1-15 Android开发xml操作
  • 利用stringbuilder生成xml文件
  • Stringbuilder生成xml文件注意的问题
  • 采用xml序列化器生成xml文件
  • xml文件的解析
  • 采用调试的方式观察pull解析的流程
1-16 Sqlite数据库
  • Android下如何创建数据库
  • 创建数据库的表结构
  • 数据库的升级更新
  • 数据库增删改查的sql语句
  • 数据库的增删改查的实现
  • 对增删改查的方法进行单元测试
  • 采用命令行查看sqlite数据库的内容
1-17 使用ListView实现列表
  • 学生管理系统界面的显示
  • listview引入
  • listview的使用
  • 学生管理系统的升级
  • listview的优化的原理
  • listview的优化
  • 采用打气筒创建view对象
  • 通知数据适配器刷新数据
1-18 对话框
  • 常见对话框
  • 删除学生信息的对话框
  • 数据库的另外一种增删改查的方法
  • 数据库的事务
  • 常见数据适配器-simple和arrayAdapter
1-19 动画效果
  • android下的图形动画
1-20 样式和主题
  • 应用程序的国际化
  • 样式和主题
1-21 联网操作
  • 网络图片查看器
  • http请求的小细节
  • ANR产生的原因
  • 主线程模型
  • android下的消息机制
  • 网络图片查看器的完成
  • 网页源码查看器
  • useragent的使用
  • 中文乱码问题的处理
  • 访问网络获取手机归属地
  • 天气预报案例-json数据的解析
  • 新闻客户端的需求和服务器搭建
  • 连接服务器解析数据
  • 数据的界面展现&正在加载的进度
  • 新闻文本界面的展现
  • 利用开源框架加载显示图片
  • smartimageview的原理
  • smartimageview异常的处理
1-22 Http请求
  • get方式提交数据-服务器搭建
  • 采用get的方式提交数据到服务器
  • POST请求和GET请求的区别
  • POST方式提交数据到服务器
  • 中文乱码问题的处理
  • 中文乱码的补充-锟斤拷锟斤初体验
  • 提交数据的中文问题
  • 采用httpclient提交数据到服务器
  • 采用开源框架get的方式提交数据到服务器
  • 采用开源项目post数据到服务器
  • 上传文件到服务器
  • 为什么多线程可以提高下载速度
  • 多线程下载的步骤
  • 如何划分服务器的资源给不同的线程
  • 多线程文件下载的实现
  • 多线程断点下载的完成
  • 多线程断点下载的小细节
  • 多线程断点下载的移植
  • 开源项目实现多线程断点下载
1-23 Activity入门
  • 多界面应用程序的开发
  • 人品计算器ui搭建
  • 人品计算器的完成
  • Activity的数据传递
  • 隐式意图和显式意图
  • 显式意图和隐式意图的特点
  • 隐式意图的详细参数
  • 利用隐式意图打开系统的浏览器
  • 利用隐式意图激活短信发送的应用
  • 短信助手的ui
  • 开启新的界面获取返回值
  • 请求码和结果码
  • Activity的生命周期-创建和销毁
  • Activity生命周期-显示与隐藏
  • Activity生命周期-暂停和继续
  • Activity生命周期的总结
  • 横竖屏切换的生命周期
  • Activity的任务栈
  • singletop的启动模式
  • singletask的启动模式
  • singleinstance启动模式
1-24 广播
  • sd卡状态监听
  • 开机启动的广播接收者
  • 外拨电话的广播接收者
  • 软件的安装和卸载
  • 短信窃听器
  • 不同版本系统广播接收者的特点
  • 自定义广播消息和广播接收者
  • 自定义有序广播
  • 有序广播的特点
  • 系统的一些广播接收者的类型
  • 只能用代码注册的广播事件
1-25 服务
  • 需求_调用服务的方法
  • 绑定服务调用服务方法的原理
  • 服务内部代码的编写
  • 绑定服务调用服务方法
  • 绑定服务调用方法的回顾
  • 通过接口隐藏代码内部实现的细节
  • 绑定服务的生命周期
  • 混合调用服务的生命周期
  • 本地服务和远程服务
  • aidl的编写步骤
  • 绑定远程服务的应用场景
  • 支付宝安全支付案例
  • 系统服务
  • 利用系统服务监听通话的状态
  • 通话录音
  • 服务概念入门
  • 服务简单入门
  • 进程的优先级
  • 为什么需要使用服务
  • 服务的生命周期
  • 简易音乐播放器
1-26 内容观察者
  • 内容提供者的概念
  • 内容提供者的工作方式
  • 内容提供者的匹配规则
  • 内容提供者的业务实现
  • 学习内容提供者的目的
  • 利用内容提供者添加删除用户的短信数据
  • 小知识点-通知栏的提醒
  • 装B神器
  • 联系人数据库的表结构
  • 利用内容提供者读取联系人
  • 联系人内容提供者的工具类
  • 删除联系人的细节
  • 添加数据到联系人数据库
  • 内容观察者
  • 利用内容观察者观察短信数据库的变化
  • 练习_利用内容提供者开发短信的备份和还原
1-27 多媒体
  • 计算机图形的表示方法
  • 加载图片到内存_x
  • 加载大图片到内存
  • 图片的缩放
  • 图片的平移旋转镜面和倒影效果
  • 随手涂鸦的ui
  • 随手涂鸦的核心逻辑
  • 随手涂鸦的细节
  • 撕衣服
  • getX和getRawX区别
  • 图片的颜色处理
  • 音乐播放器的状态图
  • 异步播放网络上的音乐文件
  • soundpool
  • 视频播放器
  • SurfaceView子线程更新ui
  • surfaceview生命周期的回调
  • 采用surfaceview播放视频
  • 照相机拍照
  • 视频的录制
1-28 传感器
  • 传感器的使用
  • 指南针
1-29 Fragment
  • fragment简介
  • fragment入门
  • fragment的事务
  • fragment与Activity的通讯
  • fragment的生命周期
  • fragment的向下兼容
1-30 属性动画
  • view动画
  • 组合动画
  • xml文件定义动画
  • view动画的细节
  • 属性动画
  • 属性动画demo合集
  • xml定义属性动画
1-31 反编译
  • 应用程序反编译
1-32 Android Studio
  • Android Studio的简介
  • Android Studio开发环境搭建
  • Android Studio欢迎界面
  • HelloWorld应用程序的创建
  • 创建模拟器、部署HelloWorld应用程序
  • Android Studio组成结构介绍
  • Android Studio菜单栏的介绍
  • Android Studio 快速工具栏
  • Android Studio Project项目结构视图
  • Android Studio Structure结构视图
  • Android Studio的编辑区域
  • Android Studio底部视图
  • Gradle相关文件的介绍
  • 项目其他文件目录的介绍
  • 设置文件的编码
  • 主题的设置
  • 编辑区域字体的设置
  • 行号和方法分割线的显示
  • Logcat日志输入颜色的修改
  • 窗体快捷键
  • 常用的编辑快捷键
  • 模糊匹配、文档提示
  • 活动模板
  • 后缀补全
  • module的创建和删除
  • 库的引入
  • 插件的安装
  • 导入eclipse和as项目
  • Junit单元测试
  • debug调试
1-33 5.0 新特性
  • 01_Matrial Design简介
  • 02_Matrial Desing主题的使用
  • 03_主题编辑器的使用
  • 04_更换主题
  • 05_阴影大小的指定
  • 06_z轴的概念
  • 07_设置产生阴影的提供者
  • 08_代码设置阴影轮廓
  • 09_指定阴影进行剪裁
  • 10_tint染色完成选择器
  • 11_通过Palette提取图片的颜色
  • 12_矢量图像
  • 13_5.0默认的背景点击动画
  • 14_自定义圆形缩小动画
  • 15_轨迹动画
  • 16_状态动画
  • 17_动画选择器
  • 18_矢量图动画
  • 19_转场动画
  • 20_RecyclerView的使用
  • 21_RecyclerView不同风格的展现、条目点击事件
  • 22_RecyclerView瀑布流
  • 23_CardView的使用
  • 24_SwipeRefreshLayout的使用
  • 25_ToolBar基本的使用
  • 26_自定义Toolbar
  • 27_DrawerLayout的使用
  • 28_DrawerLayout和Toolbar联合使用
  • 29_ofo App主界面的实现
1-34 6.0 新特性
  • 06_协调者布局、AppBarLayout、行为的基本使用
  • 07_layout_scrollFlags属性的扩展
  • 08_RecyclerView产生滑动行为
  • 09_NestedScrollView产生行为
  • 10_enterAlwaysCollapsed和exitUntilCollapsed的含义
  • 11_沉浸式状态栏
  • 12_CollapsingToolbarLayout的使用
  • 13_支付宝滚动头
  • 14_FloatingActionBar和SnackBar的使用
  • 15_FloatingActionButton和CoordinatorLayout的配合使用
  • 16_TextInputLayout和TextInputEditText的使用
  • 17_自定义文本的选中模式
  • 18_动态的权限申请
  • 01_Android6.0新特性的介绍
  • 02_NavigationView控件的使用
  • 03_Navigation和Toolbar的使用
  • 04_TabLayout的使用
  • 05_行为原理分析
第二章 项目初级阶段
2-1 安全卫士-项目分包&Splash界面
  • 手机卫士学习目标
  • SVN版本控制
  • 代码的组织方式
  • splash界面_UI布局实现
  • splash界面_版本更新业务分析
  • splash界面_获取网络版本信息
  • splash版本更新-版本比对不更新
  • splash版本更新-提醒用户更新
  • splah版本更新-下载apk的实现
  • splash版本更新-安装apk的实现
  • splash版本更新-网络错误的提示
2-2 安全卫士-Home界面&设置中心界面&手机防盗业务流程分析
  • Home页面_上部分布局的实现
  • Home页面_Logo动画的实现
  • Home页面_走马灯的实现
  • Home页面_设置按钮的shape和selector
  • 9patch图片的制作和使用
  • Home页面_GridView的实现
  • 设置中心布局的实现
  • 组合式自定义控件和自定义属性
  • SettingItemView其他自定义属性的实现
  • 设置中心自动更新的实现
  • 手机防盗-业务流程分析
2-3 安全卫士-密码输入框&向导界面
  • 手机防盗-密码输入框显示
  • 手机防盗-密码设置框逻辑的实现
  • 手机防盗-设置向导第一个布局的实现
  • 手机防盗-设置向导其他布局的实现
  • 手机防盗-向导界面动画的切换
  • 手机防盗-向导界面的抽取
  • 手机防盗-手势识别器的使用
  • 手机防盗-手势识别首个页面bug的修复
  • 手机防盗_sim卡绑定
  • 手机防盗_设置安全号码
  • 手机防盗_选择联系人页面的创建
  • 手机防盗_系统联系人数据集获得
  • 手机防盗_系统联系人图像获得
  • 手机防盗_回显联系人号码
  • ListView的Adapter优化
  • 手机防盗-密码输入框逻辑的实现
2-4 安全卫士-手机防盗&设置界面
  • 手机防盗_设置完成界面的实现
  • 手机防盗_防盗页面的布局的实现
  • 手机防盗_防盗页面逻辑实现
  • 手机防盗_开机重启判断手机丢失的逻辑
  • 手机防盗_指令接收的逻辑实现
  • 手机防盗_报警音乐的播放实现
  • 手机防盗_手机定位原理介绍
  • 手机防盗_GPS经纬度的获得
  • 手机防盗_火星坐标的介绍
  • 手机防盗_GPS位置追踪实现
  • 手机防盗_设备管理员一键锁屏实现
  • 手机防盗_一键锁屏激活操作
  • 手机防盗一键锁屏卸载操作的实现
  • 手机防盗_设备管理员向导界面实现
2-5 安全卫士-远程锁屏和擦除&骚扰拦截
  • 手机防盗_远程锁屏和擦除数据
  • 骚扰拦截_黑名单数据库建表
  • 骚扰拦截_黑名单数据库Dao的创建
  • 骚扰拦截_dao测试用例
  • 骚扰拦截_功能分析
  • 骚扰拦截_页面布局的实现
  • 骚扰拦截_自定义编辑框状态选择器
  • 骚扰拦截_黑名单列表显示
  • 骚扰拦截_黑名单添加的实现
  • 骚扰拦截_黑名单更新的实现
  • 骚扰拦截_黑名单删除的实现
  • 骚扰拦截_加载进度的实现
  • 骚扰拦截_空View的显示
  • 骚扰拦截_分页查询SQL的实现
  • 骚扰拦截_下拉加载更多的实现
  • 骚扰拦截_拦截服务状态的显示
  • 骚扰拦截_短信拦截功能的实现
  • 骚扰拦截_电话拦截状态时机的实现
  • 骚扰拦截_电话拦截AIDL文件的获得
  • 骚扰拦截_电话挂断的逻辑实现
  • 骚扰拦截_通话记录删除的逻辑实现
2-6 安全卫士-号码归属地查询
  • 常用工具_归属地UI实现
  • 常用工具_归属地_ApiDemo源码使用
  • 常用工具_手机归属地查询实现
  • 常用工具_其他类型号码归属地查询实现
  • 常用工具_号码动态查询
  • 优化_GZip压缩的使用
2-7 安全卫士-常用号码&来电和去电归属地显示&自定义Toast
  • 常用号码_ExpandableListView介绍
  • 常用号码_ExpandableListView的Adapter实现
  • 常用号码_真实数据查询的实现
  • 常用号码_Expandablelistview的点击实现
  • 拨入拨出_归属地服务的新建
  • 拨入拨出_归属地信息获取的逻辑
  • Toast源码查看
  • 自定义toast的实现
  • 自定义toast拖动的实现
2-8 安全卫士-自定义Dialog
  • 拨入拨出_归属地自定义dialog的新建
  • 拨入拨出_dialog自定义样式的实现
  • 拨入拨出_dialog_Adapter的实现
  • 拨入拨出_点击的实现
2-9 安全卫士-软件管家应用列表&PopupWindow
  • 软件管家_页面布局的实现
  • 软件管家_progressStateView样式和方法的提供
  • 软件管家_内部存储和sd存储信息的获得
  • 软件管家_Adapter的实现
  • 软件管家_应用程序数据的获得
  • 软件管家_应用程序flags的含义和获取比对
  • 软件管家_应用程序排序显示
  • 软件管家_ListView条目头的添加
  • 软件管家_PopupWindow的使用
  • 软件管家_PopupWindow布局和动画实现
  • 软件管家_应用卸载功能的实现
  • 软件管家_应用打开和详情查询的实现
  • 软件管家_shareSDK分享实现
  • 软件管家_include标签的使用
2-10 安全卫士-进程管理&Widget
  • 进程管理_页面布局实现
  • 进程管理_进程数的统计
  • 进程管理_内存数据的获取
  • 进程管理_Adapter简单实现
  • 进程管理_数据封装和假数据的展示
  • 进程管理_真实数据的获取
  • 进程管理_数据排序和ui微调
  • 进程管理_自定义Toast实现字母显示
  • 进程管理_条目全选反选的实现
  • 进程管理_杀死进程的实现
  • 进程管理_其他UI细节的实现
  • 进程管理_锁屏自动清理内存的实现
  • 进程管理_不被杀死的前台服务
  • Widget_窗口小部件显示实现的步骤
  • Widget_窗口小部件的生命周期
  • 反编译工具的介绍
  • 反编译_获得资源文件
  • Widget_小部件UI时时更新的实现
  • Widget_一键清理IntentService实现方案
  • Widget_时时更新UI的优化
  • 异步任务_介绍
  • 异步任务_AsyncTask的详细使用
  • 异步任务_AsyncTask并发执行多任务
2-11 安全卫士-流量统计&短信备份还原&手势识别
  • 流量统计_页面布UI实现
  • 流量统计_假数据的显示
  • 流量统计_流量数据的获得
  • 短信备份还原_读取系统短信
  • 短信备份还原_存储系统短信
  • 短信备份还原_接口抽取实现备份
  • 短信备份还原_短信还原的实现
  • 手势识别_代码查询和获得
  • 手势识别_Api使用和修改
  • 手势识别_绘制监听
2-12 安全卫士-程序锁
  • 程序锁_密码界面布局和分析
  • 程序锁_Activity分流UI显示到Fragment
  • 程序锁_密码设置fragment的创建
  • 程序锁_密码向导跳转密码设置
  • 程序锁_密码设置和密码确认布局跳转
  • 程序锁_密码设置间动画的切换
  • 程序锁_回退栈的监听
  • 程序锁_密码设置业务逻辑的实现
  • 程序锁_页面跳转的实现
  • 程序锁_自定义分段控件布局实现
  • 程序锁_分段控件接口声明实现
  • 程序锁_程序锁页面Adpater的创建
  • 程序锁_程序锁页面假数据显示和加载
  • 程序锁_程序锁数据库创建
  • 程序锁_程序锁加锁解锁的实现
  • 程序锁_程序锁加锁解锁动画的实现
  • AccessibilityService的介绍和使用
  • 程序锁_程序锁AccesibilityService添加
  • 程序锁_拦截页面显示处理
  • 程序锁_拦截页面逻辑跳转的实现
  • 程序锁_其他细节实现
2-13 安全卫士-缓存清理
  • 缓存清理_页面布局实现
  • 缓存清理_Adapter的实现
  • 缓存清理_ListView滚动扫描的实现
  • 缓存清理_顶部扫描更新UI部分的切换实现
  • 缓存清理_扫描线的动画和重新扫描的实现
  • Settings源码解析获得应用程序的缓存大小
  • 缓存清理_缓存清理数据的获得和展示
  • 缓存清理_清理功能的实现
  • 缓存清理_bug的fix
2-14 安全卫士-手机杀毒&项目辅助知识点
  • 手机杀毒_手机杀毒页面的创建
  • 手机杀毒_获取真实数据的实现
  • 手机杀毒_病毒数据判断实现
  • 手机杀毒_自定义病毒程序校验
  • 手机杀毒_顶部扫描逻辑的实现
  • 手机杀毒_CircleProgress开源项目的使用
  • 手机杀毒_扫描结束是打开动画的实现
  • 手机杀毒_扫描左右图像的获得
  • 手机杀毒_收尾
  • 快捷图标的创建
  • 自定义的Logger日志
  • 上线应用程序异常的捕获原理&ACRA
  • ACRA的toast和dialog配置
  • Proguard代码混淆
  • AndResGurad资源混淆
2-15 自定义控件-自定义控件基础绘制和布局处理
  • 01_自定义控件概述
  • 02_自定义的继承关系和构造方法处理
  • 03_利用canva绘制基本图形
  • 04_利用path绘制机器耳朵(三条边的矩形)
  • 05_利用path绘制人形耳朵(贝塞尔曲线)
  • 06_canvas的平移,旋转和缩放
  • 07_绘制文本
2-16 自定义控件-圆形菜单&饼状图点击
  • 08_饼状图分析
  • 09_饼状图的数据处理
  • 10_扇形的外接矩形的处理
  • 11_扇形的绘制处理
  • 12_直线的绘制
  • 13_文本的绘制
  • 01_自定义ViewGroup的onLayout方法介绍
  • 02_自定义ViewGroup稍复杂小demo
  • 03_圆形菜单的准备工作
  • 04_圆形菜单子视图的摆放
  • 05_onMeasure的MeasureSpec参数讲解
  • 06_圆形菜单的外部测量处理
  • 07_圆形菜单的子视图测量处理
  • 08_饼状图-将点击位置转化为索引值
  • 09_饼状图-点击效果的处理
  • 10_圆形菜单的旋转
2-17 自定义控件-QQ气泡效果分析
  • 01_QQ气泡效果分析
  • 02_QQ气泡效果-两个静态圆的绘制
  • 03_QQ气泡效果-中间图形的绘制
  • 04_QQ气泡效果-中间图形适配到两个静态圆上
  • 05_QQ气泡效果-拖动效果实现
  • 06_QQ气泡效果-随着拖拽距离固定圆半径的变化
  • 07_QQ气泡效果-超出最大拖拽范围的处理
  • 08_QQ气泡效果-move和up均超出最大范围的处理
  • 09_QQ气泡效果-move超出并且up未超出,move和up均未超出最大范围的处理
  • 10_QQ气泡效果-RecyclerView的列表实现
  • 22_QQ气泡效果-解决RecyclerView带来的事件冲突问题
  • 23_QQ气泡效果-GooView的消失和重置处理
  • 24_QQ气泡效果-多次点击造成的bug
  • 13_QQ气泡效果-事件分发基础
  • 14_QQ气泡效果-事件分发的形象案例引入
  • 15_QQ气泡效果-事件分发原理-孔融家的传统
  • 16_QQ气泡效果-事件分发原理-情况1讲解
  • 17_QQ气泡效果-事件分发原理-情况2讲解
  • 18_QQ气泡效果-事件分发原理-情况3讲解
  • 19_QQ气泡效果-事件分发原理-情况4讲解
  • 20_QQ气泡效果-事件分发原理-情况5讲解
  • 21_QQ气泡效果-事件分发原理-总结
  • 11_QQ气泡效果-准备工作1绘制文本
  • 12_QQ气泡效果-准备工作2修改GooView的位置
  • 13_QQ气泡效果-为TextView设置触摸监听
  • 14_QQ气泡效果-利用WindowManager添加GooView
  • 15_QQ气泡效果-修复GooView的文本和位置
2-18 自定义控件-下拉刷新效果
  • 01_下拉刷新介绍
  • 02_下拉刷新-划分区域
  • 03_下拉刷新-添加自定义头部视图并隐藏
  • 04_下拉刷新-头部管理器的处理
  • 05_下拉刷新-定义边界
  • 06_下拉刷新-将头部拉出
  • 07_下拉刷新-定义状态提高效率
  • 08_下拉刷新-文字和箭头随状态改变
  • 09_下拉刷新-抬起手后隐藏头部
  • 10_下拉刷新-抬起手后从释放刷新进入刷新中状态
  • 11_下拉刷新-从刷新中还原到初始状态
  • 12_下拉刷新-加入RecyclerView之后的事件处理(难点)
  • 13_下拉刷新-内容视图变为其他视图后的处理
  • 14_下拉刷新-SelfHeaderViewManager的基类抽取
  • 15_下拉刷新-MeiTuan的SelfHeaderViewManger基本实现
  • 16_下拉刷新-缩放和收尾的处理
  • 17_作业-实现方式1
  • 18_作业-实现方式2
  • 19_作业-实现方式3
  • 20_课外学习推荐
2-19 智慧北京-主界面架构&事件传递&主框架
  • 01-App主界面的架构组成
  • 02-底部Tab的实现
  • 03-ViewPager、Fragment、FragmentPagerAdapter整合
  • 04-给RaidoGroup设置选择改变监听、切换ViewPager的页面
  • 05-ViewPager页面滑动修改对应的tab选择
  • 06-SlidingMenu的引入
  • 07-面向对象概念加强
  • 08-抽象类的抽取
  • 09-接口的抽取
  • 09-解耦合
  • 10-事件传递核心方法的讲解
  • 11-事件传递案例模型设计
  • 12-事件传递简单认识
  • 13-事件的分类
  • 14-事件传递的原则
  • 15-MyView处理事件
  • 16-MyViewGroup拦截事件、处理事件
  • 17-事件拦截的代码应该写在哪里?
  • 18-子控件请求父控件不要拦截事件
  • 19-事件传递源码查看
  • 20-默认事件传递的整个过程细节
  • 21-禁用主界面ViewPager的滑动事件
  • 22-ButterKnift8的使用
  • 23-Picasso显示网络图片
  • 24-OkHttpUtils联网获取数据
  • 25-HiJson工具查看json字符串
  • 26-根据Json字符串的格式设计模型类
  • 27-把json字符串转化成对应的模型对象
  • 28-TabPagerIndicator的使用
2-20 智慧北京-开发流程&Splash界面&主界面
  • 01-软件公司的组成架构
  • 02-软件开发的流程
  • 03-开发文档
  • 04-开发模式
  • 05-智慧北京项目的演示
  • 06-项目准备
  • 07-项目基本框架的搭建
  • 08-git仓库的创建
  • 09-开发用户的添加
  • 10-提交框架代码到仓库
  • 11-Splash界面动画
  • 12-延时2s进入向导界面
  • 13-向导界面的ViewPager
  • 14-开始体验按钮
  • 15-创建红色和灰色的小圆点
  • 16-小红点的移动
  • 17-通过首选项记录是否体验过向导、进入主界面
  • 18-底部tab的实现
  • 19-ViewPager_Fragment_FragmentViewPager的实现
  • 20-点击底部的tab切换ViewPager的页面
  • 21-侧滑菜单的引入
  • 22-禁用ViewPager左右滑动
  • 23-BaseFragment布局的抽取
  • 24-BaseFragment标题处理的抽取
  • 25-BaseFragment内容的抽取
  • 26-联网获取数据接口抽取
  • 27-点击menu完成侧滑菜单的切换
  • 28-不同的Tab页面控制侧滑菜单是否可以滑出
  • 29-加载数据的入口
  • 30-从服务器上获取新闻中心页的数据
  • 31-把新闻中心的json转换成对应的模型对象
  • 32-把数据传递给MainActivity的侧滑菜单
2-21 智慧北京-新闻中心页面
  • 01-RecyclerView的介绍和基本使用
  • 02-RecyclerView不同风格的展现、条目点击事件
  • 03-创建侧滑菜单的RecyclerView和MenuAdapter
  • 04-侧滑菜单条目点击
  • 05-点击侧滑菜单条目修改tab页面的标题
  • 06-点击侧滑菜单项同时关闭侧滑菜单
  • 07-加载新闻中心的内容页面
  • 08-初始化新闻中心ViewPager
  • 09-修改TabPagerIndicatorLibrary里面的样式
  • 10-点击按钮切换到一下个页面
  • 11-新闻中心页子tab页面的封装
  • 12-新闻中心子tab页面数据加载
  • 13-把新闻中心子tab加载的json数据转换成对应的模型
  • 14-加载轮播图的图片
  • 15-轮播图文字的改变
  • 16-轮播图滑动点的切换
  • 17-轮播图的自动切换和停止
  • 18-手指按下停止轮播图的切换
  • 19-轮播图的无限循环-在图片的前后多添加一张图片
  • 20-轮播图无限循环-数据下标的修正
  • 21-轮播图无限循环-向右不打开侧滑菜单
  • 22-轮播图的点击事件
2-22 智慧北京-自定义上拉和下拉RecyclerView&组图
  • 01-新闻列表数据
  • 02-RecyclerView分割线的颜色修改
  • 03-RecyclerView上拉和下拉加载数据的架构
  • 04-XWrapAdapter的getItemViewType方法的处理
  • 05-根据XWrapAdapter的返回类型创建View和绑定View
  • 06-在RecylerView中初始化头布局和脚布局并添加到RecylerView上
  • 07-将轮播图添加到RefreshRecyclerView的头
  • 08-创建头布局中的下拉刷新布局
  • 09-给进度条设置红色的环形
  • 10-默认隐藏RefreshRecyclerView的头和脚布局
  • 11-处理dispatchTouchEvent方法拖滑出头布局
  • 12-定义头布局的三种状态
  • 13-头布局状态切换以及动画实现
  • 14-手指弹起后处理头布局的状态
  • 15-刷新加载最新的数据
  • 16-处理轮播没有完全展示往下滑出时,轮播图出现回缩
  • 17-快速拖动头的状态不切换bug修复
  • 18-处理RecyclerView的滑动状态控制脚布局的显示和隐藏
  • 19-处理RecyclerView显示脚
  • 20-处理加载脚数据、隐藏脚
  • 21-点击侧滑菜单切换新闻中心页的内容
  • 22-加载组图布局、缓存布局
  • 23-组图数据模型的转换
  • 24-组图数据的显示
  • 25-组图列表和网格类型的切换
  • 26-给RecyclerView添加垂直的分割线
2-23 智慧北京-缓存性能优化&新闻详情页&三级缓存
  • 01-缓存工具类的编写
  • 02-处理数据的缓存
  • 03-切换Tab页面避免重新加载数据
  • 04-点击新闻条目进入新闻详情页
  • 05-修改Webview字体的大小
  • 06-ShareSdk分享
  • 07-点击的新闻条目变灰
  • 08-在新闻中心子tab的切换会多出轮播图bug修复
  • 09-拽下轮播图后轮播图停止切换的bug修复
  • 10-三级缓存的概念
  • 11-网络缓存加载图片
  • 12-网络缓存加载图片-图片错位
  • 13-磁盘缓存
  • 14-内存缓存
  • 15-软引用
  • 16-LruCache的使用和原理
2-24 智慧北京-屏幕适配&极光推送&友盟统计
  • 17-为什么要屏幕适配
  • 18-了解切图
  • 19-图片适配
  • 20-布局适配
  • 21-权重适配
  • 22-尺寸适配
  • 23-代码适配
  • 24-获取屏幕参数
  • 25-dp转px的使用
  • 26-JPush推送集成
  • 27-JPush发送自定义通知
  • 28-友盟统计
2-25 智慧北京-语音识别&二维码扫描
  • 01-科大讯飞-语音合成
  • 02-科大讯飞-语言识别
  • 03-科大讯飞-带对话框的语言识别
  • 04-zxing二维码扫描
2-26 智慧北京-GridView框架&WebView&GridLayout
  • 05-可以移动的GridView
  • 06-GridLayout的使用
  • 07-DragEvent事件
  • 08-GridLayout条目拖拽交换
  • 09-自定义DragGridLayout
  • 10-webview的基本设置
  • 11-java和javaScript之间的互调
  • 12-360新闻-从服务器获取分类数据
  • 13-360新闻-新闻分类适配器
  • 14-360新闻-新闻适配器
  • 15-网页详情
  • 16-给网页图片添加点击事件、图片双击放大
  • 01-项目基本结构搭建
  • 02-条目布局的分析和设计
2-27 智慧北京-列表视频播放
  • 03-MyVideoPlayer和MyVideoMediaController的初始化、列表界面实现
  • 04-MediaHelper工具类的封装
  • 05-点击播放按钮显示和隐藏控件、TextureView设置监听
  • 06-点击播放按钮进行视频的播放
  • 07-视频播放后对标题进行隐藏
  • 08-点击视频播放界面显示和隐藏控制界面
  • 09-视频控制界面显示和隐藏的动画
  • 10-视频缓冲进度条的更新
  • 11-更新播放时间和进度条
  • 12-拖动SeekBar控制视频的播放
  • 13-修改SeekBar的样式
  • 14-自动隐藏视频控制布局
  • 15-暂停和继续播放
  • 16-播放完成、重播
  • 17-点击其他条目的入口
  • 18-点击其他的条目进行播放
  • 19-滚动RecyclerView停止其他条目的播放
第三章 项目中级阶段
3-1 电子市场-界面整体结构搭建
  • 001_项目展示
  • 002_应用如何分层
  • 003_创建包结构
  • 004_Android databinding使用
  • 005_导入常用工具类
  • 006_界面结构分析
  • 007_ToolBar使用
  • 008_DrawerLayout使用
  • 009_系统提供的Toolbar和列表联动解决方案
  • 010_利用系统提供的Activity学习联动处理
  • 011_依据AppBarLayout文档处理界面容器联动处理
  • 012_TabLayout学习
  • 013_测试界面联调
  • 014_使用简单工厂创建Fragment
3-2 电子市场-界面流程化处理&首页数据加载
  • 015_流程化界面
  • 016_界面加载中处理
  • 017_错误界面处理
  • 018_空界面处理
  • 019_成功界面处理
  • 020_快速完成应用界面流程处理
  • 021_公共流程处理代码抽取
  • 022_处理Fragment提前加载数据的问题
  • 023_处理Fragment重复加载数据的问题
  • 024_Fragment流程开启的判断
  • 025_CommonPager编写
  • 026_修复Handler创建问题
  • 027_协议接口和OkHttp的优点介绍
  • 028_OkHttp访问网络处理步骤
  • 029_首页数据处理
  • 030_首页数据处理中细节完善
  • 031_首页数据显示(应用列表)
  • 032_问题处理
  • 032_使用DataBinding绑定首页条目数据
  • 033_使用Glide处理图片加载
  • 034_完成AppFragment的数据加载和展示
3-3 电子市场-首页功能实现
  • 035_抽取两个Fragment中公共代码
  • 036_抽取两个Fragment中的Callback
  • 037_协议三级缓存流程
  • 038_从内存中获取数据
  • 039_从本地缓存中获取数据
  • 040_缓存HomeFragment数据
  • 041_缓存数据通用流程处理
  • 042_缓存网络数据到本地
  • 043_轮播处理_多类型条目展示
  • 044_轮播图片展示
  • 045_添加获取下一页条目
  • 046_分析加载更多数据流程
  • 047_控制加载更多条目显示
  • 048_抽取BaseHolder
  • 049_获取和处理本地缓存数据
  • 050_获取和处理网络数据
  • 051_显示下一页数据
  • 052_处理错误重试
  • 053_简化首页代码
  • 054_应用界面加载下一页功能处理
  • 055_加载下一页流程代码抽取
  • 056_showNextPagerData方法与onCreateViewHolder方法代码抽取
  • 057_onBindViewHolder方法代码抽取
3-4 电子市场-游戏&专题界面功能实现
  • 058_游戏界面处理
  • 059_专题界面处理
  • 060_专题界面图片失真问题处理
  • 061_专题界面CardView适配
3-5 电子市场-分类&推荐&排行界面功能实现
  • 062_分类界面数据处理
  • 063_分类界面数据绑定
  • 064_推荐界面数据处理
  • 065_推荐界面数据展示
  • 066_排行界面处理
  • 067_Tablayout水平滚动
  • 068_启动详情界面
  • 069_详情界面AppBar折叠布局如何使用
  • 070_详情界面通用流程引入
  • 071_详情界面数据加载
  • 072_详情界面Toobar数据设置
  • 073_详情界面应用信息展示
  • 074_详情界面安全信息展示
3-6 电子市场-详情界面功能实现
  • 074_详情界面截图信息展示
  • 075_详情界面详细信息展示
  • 076_详情界面展开动画处理
  • 077_详情界面折叠动画处理
  • 078_下载流程
  • 079_应用信息展示
  • 080_Sugar使用步骤
  • 081_Sugar使用
  • 082_加载数据库测试数据并展示到界面
  • 083_判断应用是否安装过
3-7 电子市场-下载功能实现
  • 084_线程池管理
  • 085_等待队列管理
  • 086_完成下载任务
  • 087_点击条目完成应用下载
  • 088_缓存数据库中读取的数据到DownloadInfo中
  • 089_下载过程中界面更新
  • 090_自定义进度控件圆环绘制
  • 091_进度绘制
  • 092_进度控件文本绘制
  • 093_点击事件处理
  • 094_应用安装和卸载的监听
  • 095_记录应用的信息到数据库中
第四章 项目高级阶段
4-1 Hi聊-技术准备&Splash界面&主界面&架构抽取&输入昵称界面
  • 01_项目功能的演示
  • 02_项目模块、开源框架、架构的介绍
  • 03_如何使用MVP的架构来编码
  • 04_总结使用MVP的架构来编码的步骤
  • 05_EventBus的使用
  • 06_Glide图片网络框架的使用
  • 07_项目架构、分包
  • 11_主界面的布局架构、BottomNavigation和ButterKnife的导入
  • 12_BottomNavigationBar的初始化
  • 13_BadgeItem未读消息显示
  • 14_创建5个Tab对应的Fragment、Fragment工厂
  • 15_把附近Fragment添加到Container里面
  • 16_点击底部的Tab对应显示内容进行切换
  • 17_点击后退键把MainActivity放置到后台
  • 18_BaseFragment头布局的编写和抽取
  • 19_BaseFragment空布局的实现、设置标题和空图片抽象方法的编写
  • 20_BaseActivity的创建
  • 21_BaseActivity的行为的约束
  • 22_输入昵称界面完成
  • 23_输入昵称界面初始化、添加文字输入改变监听
  • 24_返回弹出提示对话框
  • 08_Splash界面
  • 09_从Splash界面进入主界面
  • 10_修改状态栏的颜色
4-2 Hi聊-输入个人信息界面&注册界面&环信
  • 01_输入个人信息界面
  • 02_输入个人信息界面控件初始化
  • 03_打开系统相册获取一张图片
  • 04_打开系统的图片裁剪、保存裁剪图片
  • 05_日期选择对话框
  • 06_家乡的选择
  • 07_性别的选择
  • 08_下一步按钮状态的改变
  • 09_回退按钮事件处理
  • 10_弹出性别确认提示对话框
4-3 Hi聊-Bmob&注册流程&登录后逻辑&登录界面
  • 11_注册界面的布局、初始化
  • 12_软件盘的监听
  • 13_吐司工具类的使用
  • 14_用户和密码的校验
  • 15_点击注册显示注册加载界面
  • 16_为什么采用环信、Bmob数据的存储
  • 17_环信的介绍、sdk下载
  • 18_环信SDK的集成
  • 19_动态申请权限
  • 20_Bmob云数据库SDK集成
  • 21_User模型创建
  • 22_把数据封装到User对象
  • 23_处理BmobFile用户头像通过Intent传递数据丢失
  • 01_注册界面的业务流程
  • 02_上传头像到Bmob云数据库
  • 03_保存用户的信息到Bmob云数据库
  • 04_在环信的服务器上创建账户
  • 05_登录到环信服务器、跳转到主界面
  • 06_登录成功后发送事件通知让5个Fragment修改界面
  • 07_登录成功后5个Fragment界面行为的分析
  • 08_判断用户是否登录到了环信的服务器
  • 09_根据用户登录的状态去显示标题的架构
  • 10_附近Fragment的登录标题显示
  • 11_直播Fragment登录后标题处理
  • 12_会话Fragment登录后标题显示
  • 13_通讯录、个人Fragment登录后标题的处理
  • 14_登录成功后BaseFragment内容显示架构
  • 15_登录界面的跳转和初始化
  • 16_在TextView的下面创建下划线
  • 17_登录界面登录按钮状态监听
  • 18_登录界面用户名和密码的合法校验
  • 19_登录界面显示加载的界面
  • 20_登录到环信的服务器
4-4 Hi聊-个人信息&退出&通讯录
  • 21_从Bmob云数据库获取个人信息,跳转到主界面
  • 22_缓存当前登录的用户信息
  • 01_显示个人Fragment的个人信息
  • 02_点击退出弹出退出对话框
  • 03_分析退出的业务流程
  • 04_退出的业务操作
  • 05_在注册界面缓存、在Splash界面查询用户的信息
  • 06_完成通讯录fragmentBody布局的显示
  • 07_点击Tab对标题进行切换
4-5 Hi聊-好友搜索&添加&好友列表&删除&聊天
  • 08_搜索好友界面初始化
  • 09-进入界面不弹出输入法、隐藏输入法
  • 10-搜索好友
  • 11-搜索好友列表数据绑定
  • 12-发送添加好友请求
  • 13-接收到好友请求的处理
  • 14-修改添加好友的设置为自动添加
  • 15-测试自动添加好友
  • 09_点击好友进入聊天界面
  • 10_消息的发送
  • 11_消息的存储、加载和常见的API
  • 12_获取会话消息
  • 13_展示消息列表
  • 01_消息间时间的处理、发送消息状态的监听
  • 02_修复监听消息发送的Bug、加载更多的消息
  • 03_接收到消息声音的提醒
  • 01_在Splash界面和登录界面获取联系人列表
  • 02_好友列表显示
  • 03_处理标题的切换
  • 04_添加好友后,刷新好友列表
  • 05_添加的好友进行排序
  • 06_RecyclerView条目点击效果的处理
  • 07_好友列表的条目点击和长按事件处理
  • 08_好友的删除
4-6 Hi聊-聊天&会话列表&消息提醒&强制下线
  • 04_会话列表
  • 05_接收到消息会话列表和聊天列表处理
  • 06_未读消息数量的提醒
  • 07_在后台接收到消息弹出通知
  • 08_强制下线
4-7 外卖-MVP结构搭建
  • 008_Dagger2简介和引入
  • 009_使用Dagger2的步骤
  • 010_深入解析Dagger2原理
  • 011_分析项目的整体结构
  • 012_整合ButterKnifer
  • 013_Retrofit简介和引入
  • 014_使用Retrofit的步骤
  • 015_参数替换原则
  • 016_整合OrmLite_创建数据库和表
  • 017_使用Ormlite进行关联关系查询
  • 022_划分项目结构
  • 023_创建包结构
  • 024_抽取业务层联网代码
  • 025_集成业务层数据库代码
  • 026_分析项目效果
  • 001_授课大纲
  • 002_搭建GIT服务器
  • 003_安装和使用客户端_关联服务器与本地库仓库
  • 004_使用客户端_提交与更新代码
  • 005_使用客户端_产生和解决冲突
  • 006_从MVC到MVP
  • 007_降低耦合度的方式方法
4-8 外卖-首页功能实现
  • 027_处理首页Tab
  • 028_Selector自动生成工具
  • 029_切换Fragment
  • 030_分析HomeFragment布局
  • 031_实现头部侵入到状态栏中
  • 032_处理头部透明度渐变
  • 033_分析首页RecyclerView显示
  • 034_获取首页数据
  • 035_隔离首页的业务处理
  • 036_解析首页数据
  • 037_展示首页商家列表
  • 038_展示首页头条
  • 039_抽取网络代码
4-9 外卖-商家界面功能实现
  • 040_打开商家界面
  • 041_处理Toolbar
  • 042_整合TabLayout与ViewPager
  • 043_使用StickyListHeaders
  • 044_分析联动功能
  • 045_点击左侧容器修改分组列表
  • 046_滚动分组列表刷新容器
  • 047_处理左侧条目显示问题
  • 048_替换模拟数据为服务器端数据
  • 049_替换商品分类列表条目
  • 050_替换商品列表条目
  • 051_实现添加和减少商品动画
  • 052_管理购物车
4-10 外卖-商家&购物车&账户中心功能实现
  • 053_实现商品添加到购物车动画
  • 054_处理购物车气泡
  • 055_展示购物车界面
  • 056_处理购物车显示问题一
  • 057_处理购物车显示问题二
  • 058_登陆入口
  • 059_常见用户登录处理方式
  • 060_短信验证平台使用步骤
  • 061_展示用户信息及分析登陆界面功能
  • 062_获取验证码
  • 063_校验验证码
  • 064_完成登陆业务
  • 065_持久化用户数据到数据库
  • 066_事务管理
4-11 外卖-账户中心&结算中心&地址管理
  • 067_结算中心功能列表
  • 068_处理数据展示
  • 072_地址编辑界面功能列表
  • 073_简化地址业务注入的操作
  • 074_添加地址
  • 075_界面问题修复
  • 076_修改地址
  • 077_删除地址
  • 078_修复仅能增加一条地址记录的问题
  • 079_显示结算中心地址
  • 069_完整的地址功能
  • 070_地址列表界面功能列表
  • 071_加载地址列表
4-12 外卖-支付订单管理
  • 080_创建订单业务类
  • 081_改造Dagger2代码
  • 082_提交订单
  • 083_获取订单的支付信息
  • 084_展示订单支付界面数据
  • 085_支付宝简介_下载sdk_运行demo
  • 086_支付宝支付的流程
  • 087_app集成支付模块
4-13 外卖-地图和订单管理
  • 088_高德地图介绍
  • 089_查看Demo定位代码
  • 090_处理定位
  • 091_查看Demo周边搜索代码
  • 092_实现周边搜索列表
  • 093_添加新增地址中定位功能
  • 094_保存新增地址坐标入库
  • 095_自动匹配默认地址
  • 096_处理界面适配问题
  • 100_展示订单详情界面
  • 101_管理订单状态
  • 102_处理服务器推送的订单数据
  • 103_利用观察者传递订单数据
  • 104_更新订单列表数据
  • 105_修改订单详情界面数据展示
  • 097_处理订单界面功能
  • 098_处理订单界面
  • 099_展示订单列表
  • 106_分析订单配送功能
  • 107_推送订单详情界面更新数据
  • 108_地图展示买卖双方
  • 109_地图展示骑手位置
  • 110_地图更新骑手位置
4-14 外卖-数据统计
  • 111_项目开发善后工作
  • 112_友盟统计——常用功能
  • 113_自定义事件
4-15 外卖-apk瘦身&多渠道打包&apk加固&增量更新
  • 114_代码混淆
  • 115_删除无用资源
  • 116_删除无用的语言文件
  • 117_图片压缩
  • 118_png图片转换成jpg图片
  • 119_其他压缩方式
  • 120_为什么进行多渠道打包
  • 121_多渠道打包操作
  • 122_apk加固
  • 123_服务器升级包生成
  • 124_手机端合成新版本APK
  • 125_定义native方法
  • 126_生成x86的so文件
  • 127_利用so文件完成手机段APK合成工作
第五章 Android进阶阶段
5-1 VR基础和VR小项目
  • 01_VR介绍
  • 02_VR全景图介绍
  • 03_VR全景图代码实现
  • 04_VR全景图功能处理细节
  • 05_VR视频处理
  • 06_VR视频的处理细节
  • 07_VR小项目介绍
  • 08_VR项目架构介绍
  • 09_VR项目架构搭建
  • 10_主界面两个Fragment的处理
  • 11_VR全景图的列表显示
  • 12_点击条目跳转详情界面
  • 13_VR全景图详情的实现
  • 14_VR视频的列表显示
  • 15_显示全景图同时播放mp3音乐
  • 16_VR视频详情界面处理
  • 17_VR视频播放界面处理
5-2 百度地图
  • 01_百度地图简介
  • 02_百度地图入门-申请KEY
  • 03_百度地图入门-校验KEY
  • 04_百度地图入门-缩放级别&&设置中心点
  • 05_百度地图入门-三个核心类
  • 06_百度地图入门-总结
  • 07_地图图层
  • 08_覆盖物-绘制圆
  • 09_覆盖物-文字
  • 10_Marker覆盖物
  • 11_泡泡显示
  • 12_矩形范围内搜索
  • 13_周边搜索
  • 14_城市内搜索&&详情搜索
  • 15_驾车路线
  • 16_驾车路线更改图标和添加途经点
  • 17_步行路线
  • 18_公交换乘
  • 19_其他内容
  • 20_定位介绍
  • 21_定位
5-3 开源框架
  • 01_Logger使用
  • 02_PicassoTransformation图片转换
  • 03_NoHttp引入
  • 04_NoHttp发送异步请求
  • 05_NoHttp常用Api介绍
  • 06_MpAndroidChart使用
  • 12_模拟ButterKnife注解库
  • 13_模拟ButterKnife的注解处理器需求
  • 14_生成初始化控件类
  • 15_生成初始化控件的代码
  • 16_框架开发总结
  • 17_热修复简介
  • 18_配置project的build.gradle文件
  • 19_配置module的build.gradle文件
  • 20_DefaultApplicationLike子类编写
  • 21_错误apk编写
  • 22_完成修复
  • 23_热修复原理分析1
  • 24_热修复原理分析2
  • 07_Android-Apt工作内容
  • 08_处理流程
  • 09_使用JavaPoet定义方法
  • 10_使用JavaPoet定义类和生成文件
  • 11_完成HelloWorld代码生成
5-4 源码分析
  • 01_课程介绍
  • 02_操作系统介绍
  • 03_虚拟机介绍
  • 04_创建虚拟机
  • 05_配置虚拟机
  • 06_安装Ubuntu系统
  • 07_安装虚拟机增强功能
  • 08_源码下载相关工具
  • 09_初始化源码下载环境
  • 10_下载Android源码
  • 11_配置JDK环境
  • 12_编译源码
  • 13_Handler的使用复习
  • 14_Android系统的启动流程
  • 15_SourceInsight介绍
  • 16_Handler关联的Looper由来
  • 17_loop方法里的死循环作用
  • 18_获取和回收消息的机制
  • 19_消息进入可执行队列的机制
  • 20_消息处理时的分配机制
  • 21_loop循环休眠时的唤醒机制
  • 22_AsyncTask运行机制
  • 23_拓展内容.FutureTask
  • 24_使用子线程的消息循环
5-5 智能家居
  • 01_智能家居简介
  • 02_智能监控介绍
  • 03_智能监控流程
  • 04_输入界面
  • 05_显示界面控件初始化及输入内容的获取
  • 06_连接及监控画面显示
  • 07_断开连接
  • 08_蓝牙灯泡简介
  • 09_蓝牙灯泡基本流程
  • 10_打开关闭蓝牙
  • 11_扫描蓝牙设备之注册蓝牙广播接受者
  • 12_连接蓝牙设备
  • 13_开灯光灯点动
  • 14_蓝牙灯泡细节处理