TCL 雏鹰飞翔计划 Android篇

本文出自:http://blog.csdn.net/dt235201314/article/details/63252425

一丶概述

最近意识到一个严重的问题,工作两年,很多时候都是为了完成任务去学一些知识,而不是掌握技术本身。以至于在准备面试相关知识时发现很多知识点都不能用自己的语言表达。没完全弄懂的表现。回想起之前莫哥(移动组领导),健哥(Android组组长),杰哥(前辈)之前制定的Android学习计划,用心良苦。决定复习相关知识,重新整理相关文章分享给大家。

二丶正文

学习计划1.0版

模块 分类 知识点
java基础
1.开发规范系统学习 命名规范 1.包名定义规范
2.类命名名规范
3.参数命名规范
4.常量命名规范
格式规范 1.换行
2.代码缩进
注释规范 1.类,方法,属性注释
2.方法内部代码块注释
3.已有代码修改记录注释
2.基础知识 常量和变量 1.认识java中的基础数据类型
2.类型自动转换和强制转换
3.属性变量,静态变量,构造方法内部变量初始化顺序
流程控制 1.if else 条件运算
2.switch运算
3.do while运算
4.for 运算
5.循环跳转continue及break
封装 1.访问修饰符及关键字this
2.内部类学习
继承和多态 1.继承初始化顺序及super使用
2.接口使用
阶段性测试题一 以车为原型编写一个示例,完成小明一周五天不同的出行工具,要求体现以上知识点
Java进阶 集合 1.了解集合原理,集合优化
2.List,Map,Tree等不同数组的优缺点及安全性
枚举 1.枚举的原理及使用场景
2.Enum定义构造函数及参数
泛型 1.泛型的定义及使用
2.泛型类、泛型接口、泛型方法的使用
设计模式 常见设计模式学习,如工厂模式、单例模式、观察者模式,适配器模式等
阶段性测试题二 1.冒泡排序,选择排序,快速排序对一组随机数进行排序
2.使用枚举初始化不同的类
网络 1.tcp/udp原理分析
2.socket与http通讯对比分析
线程 1.Thread Runnable区别
2.线程的不同状态
3.线程池分类
4.线程池和单线程对比分析
IO流 1.IO流分类
2.输入流输出流
3.断点续传
JSON/XML解析 1.xml不同解析方式对比
2.JSON解析get opt方式区别
3.JSON xml解析优缺点分析
阶段性测试题三 1.分别用http和socket方式实线文件拷贝
2.分别用json/xml解析字符串成对应的对象
Android
Android基础 基础组件 1.Activity启动模式、生命周期
2.Fragment生命周期及使用方式
3.广播注册方式及不同方式作用域
4.服务创建方式
5.contentprovider使用场景及原理分析
UI控件 1.不同layout使用场景
2.listview 与RecyclerView
3.ActionBar, ToolBar标题栏
4.属性动画,帧动画
5.viewPager
6.include merge viewStub的使用
7.不同控件触摸点击监听事件
阶段性测试题四 模仿微信首页,使用viewpager + fragment 
文件存储 1.文件存储方式
2.数据库版本维护、字段新增
3.sqlite 常用语法
4.本地文件访问
5.联系人等信息访问
6.SharedPreferences使用场景
通信 1.不同Activity跳转通信
2.进程间通信
3.Hander 使用原理分析
4.网络通信
5.子线程跟新UI方式
阶段性测试题五 模仿聊天页面,输入聊天信息,显示到UI,并保存到数据库中
Android进阶 View绘制 1.View绘制原理
2.onMeasure, onLayout, onDraw
3.自定义View属性
事件分发 1.点击屏幕到view捕捉事件流程
2.事件分发机制
3.事件拦截机制
4.事件冲突处理机制
版本特性 1.不同SDK版本特性
2.权限申明
3.新增API
主题样式 1.Material Design 主题样式
2.主题切换
3.不同UI主题动态设置
开源 1.常见网络开源库
2.常见图片处理开源库
3.常用工具开源,如Gson等
性能优化 1.耗电优化
2.内存优化
3.网络优化
架构设计 1.常见设计模式学习,MVP,MVVM等
2.搭建Android项目架构学习
阶段性测试题六 开发一款新闻客户端

刚看到这张表,师傅用心良苦,兴奋,还有阶段测试耶, 好怕怕哦

师傅:有什么要加的自己加上,不懂就问。

......

领导:驳回,整得跟培训表格一样。重写

学习计划2.0版:

2017年3月15日
一.制定目的
     为了初级开发人员有清晰的学习方向,快速的掌握基础技能,使其能在最短时间内能有快速的提升,同时提高产出,通过与其本人沟通、以及现行掌握技能评估,特有针对性的制定本学习计划

二.技术评级

   技术处于1年初级开发阶段,对基础知识有一定掌握,能在团队配合下完成部分功能开发

三.学习计划
    学习计划主要从规范、基础技能、提升几部分进行。
1.开发规范
    Adnroid开发规范与Java类似,可参考阿里巴巴开发规范文档
    学习周期:1周
  2.Java基础学习
      Android上层应用,使用java语言开发,Java基础是必须掌握的
(1).OOP
      多态、继承、封装、抽象是开发的核心思想,需要全面掌握,  可参考酷友数据 Adpater实现 
     学习周期:1周
(2).集合、枚举、泛型
集合分类,每种集合优缺点,包括线程安全性;枚举的使用场景和泛型使用
学习周期: 2周
(3).网络协议、IO流、数据解析
http/socket协议,POST/GET等请求方式,IO流学习,JSON/XML 数据解析以 及差异性
学习周期:3周

3.Android基础学习
开发一款APP首先应该掌握UI、本地存取操作、网络处理等相关知识。
(1).UI层
 常用布局学习,关键控件如RecyclerView,ViewPager, 动画[属性动画/帧动 画],  ToolBar/ActionBar的系统学习;组件学习 ,Activity,Service不同的启动方式,广播注册等  
 学习周期:2周
(2).文件操作
  数据库Sqlite相关操作,常用的文件存取方式,以及实用场景学习[主要学习Sqlite,SD卡文件操作,SharedPre]   
  学习周期:1周
(3).通信模块
单线程,多线程通信方式,Handler 与UI Thread的交互,Handler接合子线程的使用     
学习周期:2周

4.插件学习
git,gradle的使用, 是现在Android开发工具Studio需要掌握的

以上为初级开发工程师到中级开发需要掌握的基本技能,掌握了以上技能知识后,达到中级开发工程师水平,在项目中能独立完成模块功能开发。总学习时长12周,3个月


四、技能拓展

掌握了学习计划里的基本技能知识后,可学习以下技术来提高技能水平
1.设计模式
   设计模式如工厂模式、单例模式、观察者模式等,都是项目中会经常使用的,好的设计模式的使用可提高代码维护和后续扩展性
2.网络协议原理
tcp/udp的学习,掌握协议原理,重连机制,对设计移动端网络架构和选型很有用处
3.事件分发与拦截
 View事件分发机制和拦截,理解View的整个事件传递流程以及拦截过程
4.Vew绘制
View绘制原理学习,自定义view学习,自定义View属性
5.性能优化
APP性能优化,包括耗电、内存消耗等的优化处理
6.开源框架学习
开源框架学习,图片加载框架、网络框架等
以上是作为一个具有独立开发产品能力锁必须具备的知识积累,也是中级开发成长高级开发需要掌握的技能。
上述知识点在每一个项目中都会涉及到,也是一款大众APP都可能涉及到的知识点,在现有项目酷友数据中都有具体体现,学习过程中可参考学习,后续在项目中尝试使用。

终结考核版:

学习计划考核表
考核人   岗位 Android初级开发工程师
基础技能考核
考核主项 考核细项 学习时间 考核标准 考核结果 考核人
开发规范 开发规范 3.20-3.24 根据技能掌握程度,
以及在项目中的使用熟练度输出考核结果
掌握情况标准:
A-完全掌握
B-掌握良好
C-基本掌握
D-掌握较差
java基础学习 OOP的深入理解 3.27-3.31
集合、枚举、泛型 4.3-4.14
网络协议、IO流、文件解析 4.17-5.5
安卓 UI层 5.15-5.26
文件操作 5.22-5.26
通信模块 6.5-6.23
插件学习 以上学习中持续学习
附加技能考核
考核主项 考核细项 考核标准 考核结果 考核人
技能提升项 设计模式学习 作为附加技能提升,主要考核是否有相关了解,能否在后期项目中加以使用
A-掌握良好
B-基本理解
C-掌握较差
网络协议原理
事件分发与拦截
Vew绘制
性能优化
开源框架学习
最终考核结果:
备注:

三丶考核结果与输出

一个B其他的都是A,博客输出见:

博客导读

相关代码见:

https://github.com/JinBoy23520/CoderToDeveloperByTCLer

四丶鸣谢

特此感谢莫哥,健哥,杰哥制定的学习方案和考核。用心良苦,好人一生平安。




你可能感兴趣的:(Android,进阶,TCL,雏鹰飞翔计划,·,Android,篇,人生感悟)