@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. 包建强的培训课程(1):Android App企业级开发

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  2. 包建强的培训课程(2):Android与设计模式

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  3. 包建强的培训课程(14):Android与ReactNative

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  4. 包建强的培训课程(6):Android App瘦身优化

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  5. 包建强的培训课程(10):Android插件化从入门到精通

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  6. 包建强的培训课程(9):Android App性能优化

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  7. 包建强的培训课程(15):Android App热修复技术

    @import url(/css/cuteeditor.css); Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·‘“〈 ...

  8. 包建强的培训课程(3):App竞品技术分析

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  9. 包建强的培训课程(8):iOS与设计模式

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

随机推荐

  1. python的os模块fnmatch模块介绍

    一.先介绍一下os模块 import os print(os.getcwd()) # E:\python\test\python_models # 获取当前的目录 print(os.listdir(& ...

  2. 手机设备上touchstart与click的区别

    1.基本定义 touchstart 手指触碰开始就能触发 click 1.手指触碰 2.手指未在屏幕上移动 3.在这个dom上手指离开屏幕 4.触摸和离开屏幕之间的时间间隔较短 因此,click事件有 ...

  3. python3 经典排序方法

    1.插入排序: def nsert_sort(list): for i in range(len(list)): for j in range(i): if list[i] < list[j]: ...

  4. springmvc webservlet 加redis 订阅消息

    由于项目内请求的数据需要 等待设备处理完毕后返回才能得到.请求命令返回的是发送成功的包,而不是设备处理的包,所以需要请求等待.. 方式一:项目中 添加了redis作为一个缓存, webservlet ...

  5. Python调用Linux bash命令

    import subprocess as sup  # 以下注释很多(为了自己以后不忘), 如果只是想在python中执行Linux命令, 看前5行就够了 # 3.5版本之后官方推荐使用sup.run ...

  6. java整数溢出问题及提升为long型

    整数溢出问题 Java 中的 int 用 32 位表示,正数最大值的情况,首位是 0,其他位都可以是 1(就是 2^31-1).但是如果正数过大了,例如 2^31,计算机不得不把首位变成 1,并且计算 ...

  7. BZOJ1058或洛谷1110 [ZJOI2007]报表统计

    BZOJ原题链接 洛谷原题链接 STL 本题可以直接使用\(\mathtt{STL\ multiset}\)水过去. 因为本题插入数的操作实际上就是将原数列分为\(n\)段,在每一段的末尾插入数,所以 ...

  8. HttpServletRequest字符集问题

    post中文处理 1post在spring里的设置web.xml文件 <!-- 字符处理 UTF8 --> <filter> <filter-name>encodi ...

  9. 【转】Android总结篇系列:Activity生命周期

    [转]Android总结篇系列:Activity生命周期 Android官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity ...

  10. 数组,arrayList和List

    数组,arrayList和List (1)数组在C#中是最早出现的.它在内存中是连续的存储的,所以索引速度很快,而且赋值与修改元素也很简单.可以利用偏移地址访问元素,时间复杂度为O(1);可以用折半查 ...