包建强的培训课程(16):Android新技术入门和提高
@import url(/css/cuteeditor.css);
Normal
0
10 pt
0
2
false
false
false
EN-US
ZH-CN
X-NONE
$([{£¥·‘“〈《「『【〔〖〝﹙﹛﹝$(.[{£¥
!%),.:;>?]}¢¨°·ˇˉ―‖’”…‰′″›℃∶、。〃〉》」』】〕〗〞︶︺︾﹀﹄﹚﹜﹞!"%'),.:;?]`|}~¢
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Cambria;
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
Android新技术入门和提高
一.简介
# 课程简介
结合讲师5年来一线工作经验,对Android业界的各种新技术、新思想的持续学习、研究以及付诸实践,将研究心得和实践经验汇编成本课程。
# 受众定位
本课程系列适合于从事Android开发1-2年的技术人员,帮助他们使用更先进的技术,设计出更加健壮的Android程序。
# 听众收益
能够帮助学员快速成长,掌握在企业中进行Android目前比较流行的新技术,获取进入一线互联网公司的必备知识。
二.课程大纲(2天)
第1天
第1讲
依赖注入
l 从IoC谈起
l 依赖注入的三种形式
l 偷懒第一利器:ButterKnife
l Dagger2
l DIDemoApps :Dagger2和ButterKnife的比较
第2讲 响应式编程之RxJava
l 从观察者模式说起
l Observable与Observer、Subscribe
l Lambda表达式
l 线程的自由控制
l 偷梁换柱说变换
l RxJava的使用场景
l 谈谈RxAndroid
l RxJava原理剖析
第3讲 网络编程思想
l OKHttp原理和基本使用
l 自定义网络底层框架
l Retrofit横空出世
l Retrofit设计原理
l Retrofit中的设计模式
l Retrofit与RxJava混合编程
第4讲
注解编程
l 注解编程概述
l Android中的注解
l 自定义注解
第5讲
AOP编程
l 从代理模式谈起
l 自定义AOP框架
l AOP基本概念
l AspectJ第一个例子
l 使用AspectJ实现日志
l 使用AspectJ实现埋点
l 使用AspectJ实现异常捕获
随堂练习:
l 为公司的Android
App添加日志
l 使用AspectJ为公司的Android
App添加埋点统计
l 使用RxJava改写公司的Android App的某一个页面
l 使用ButterKnife改写公司的Android
App的某一个页面
第2天
第1讲
内存泄漏
l 内存泄漏嗅探器:LeakCanary
l 内存泄漏原因总结
第2讲 MVP和MVVM
l MVP编程思想
l MVP开源框架精讲
l MVVM及数据绑定
l Dagger2在MVP中的使用
l 更犀利的Redux和Flux
第3讲 事件总线
l EventBus
l RxBus
第4讲
Android自动构建
l Android打包流程
l 使用Freeline构建系统
l 使用Maven搭建本地仓库
第5讲
Android高效率开发小工具
l Android调试神器:Stetho
l 无线WiFi调试插件:AndroidWiFiADB
l Walle:新一代开源Android渠道包生成工具
l 让反射语法不再高深莫测:jOOR
l 数十倍效率提升:Android
应用开发助手
随堂练习:
l 使用Freeline打包公司的Android
App
l 使用MVVM改写公司的Android
App的某一个页面
l 使用MVP改写公司的Android
App的某一个页面
l 使用LeakCanary为公司的Android
App查找内存泄漏
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
包建强的培训课程(16):Android新技术入门和提高的更多相关文章
- 包建强的培训课程(1):Android App企业级开发
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(2):Android与设计模式
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(14):Android与ReactNative
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(6):Android App瘦身优化
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 包建强的培训课程(10):Android插件化从入门到精通
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(9):Android App性能优化
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 包建强的培训课程(15):Android App热修复技术
@import url(/css/cuteeditor.css); Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·‘“〈 ...
- 包建强的培训课程(3):App竞品技术分析
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(8):iOS与设计模式
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
随机推荐
- 使用SQL语句查询表及表字段类型说明
今天突然遇到有人要数据库表及表字段说明,数据库表太多又不能一个个表去找,就想想SQL是否能直接查询出来. 经过查询资料,加上一些自己的一些调整写了一个sql语句,在此记录一下,以方便日后查找使用. S ...
- php 守护进程(Daemon)
守护进程(daemon)是一类在后台运行的特殊进程,用于执行特定的系统任务. 很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭. 守护进程一直在后台运行,脱离终端运行的程序 独立运行的守护进 ...
- 查看 设置mysql时区
# 查看时区 show variables like '%time_zone%'; system_time_zone CST time_zone SYSTEM # 设置全局 set global ti ...
- 如何在SpringBoot项目中使用拦截器
相比springmvc,springboot中拦截器不需要在xml中配置,只需定义拦截器类 implements HandlerInterceptor 和拦截器拦截路径的配置类extends WebM ...
- 那一夜,风雪交加,我在搞jquery------专题之jquery选择器
我们今天探讨下Jquery的用法,主要是研究选择器. 选择器可以分成四类: 1.基本选择器 核心代码: <script type="text/javascript"> ...
- 获取当前最顶层的VC
#pragma mark - 获取当前最顶层的ViewController - (UIViewController*)topVC:(UIViewController*)VC { if([VC isK ...
- session随笔
·由于cookie中不能保存很多信息,于是Session出现来完成这个功能. ·Session的作用就是在服务器保存一些保存一些用户的数据,然后传递给用户一个名字为JSESSIONID的Cookie, ...
- 【Python】 Python3 环境搭建
Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发. Windo ...
- Linux开发黑客
参考网站:http://blog.chinaunix.net/uid/20543672/abstract/1.html tekkamanninja
- 运用SharedPreferences“偷取”输入的信息
运用SharedPreferences"偷取"输入的信息 本次的任务是 利用SharedPreferences来完成信息的保存和读取 就是你输入什么 手机就可以把输入的内容&quo ...