1.目前情况与知识储备

上个月收获了抖音的Android工程师offer,准备以后入坑Android了。由于之前是做后端居多,现在转Android有必要给自己做一个规划。

目前已有的知识储备:JavaSE基础,JavaEE基础,JVM,面向对象设计模式,Spring等Java框架,计算机网络,操作系统,MySQL数据库,Redis缓存,H5+CSS3+JS基本操作,数据结构。

2.Android知识总结

  1. 基础知识:Java基础,OOP,设计模式,计算机基础,数据结构,Android SDK,四大组件,生命周期,Kotlin
  2. UI:Layout,View,Custom View,anim,Resource,OpenGL
  3. 通信:Http协议及框架,蓝牙,NFC,Socket,USB
  4. 持久化:SQLite,文件,服务端持久化,sharedpreferences
  5. 性能优化:内存性能优化,UI设计优化,电量优化,流量优化
  6. 安全:通信安全,数据加密,加密算法,证书使用
  7. NDK:C/C++,JNI
  8. 扩展功能:手机自带功能,地图,支付,广告
  9. 适配:各种适配方案
  10. 跨平台:Flutter,ReactNative,WEEX,HTML+CSS+JS

3.职业规划

2019年5月——2019年7月

熟悉Android SDK软件开发工具包,多看Android相关的文档,熟练使用AS。与mentor多沟通,多接触业务知识,争取到岗能上手工作。加强JavaScript脚本基础,加强计算机基础。

2019年8月——2019年12月

熟悉公司产品源码。了解整个APP的开发与维护流程,能对业务提出自己的见解。深入Android基础与高级特性,多向前辈取经,增强自己的专业技能水平。

2020年

在工作上能独当一面,完成分内的工作。并且根据自己的兴趣探索Android技能栈。研究优秀开源框架的源代码,做到知其然且知其所以然,自己尝试根据业务场景封装框架。阅读Android的源代码。因为Android很大程度上是基于Linux内核的,所以要加强学习 Linux的相应API以及各种操作。

2021年——2023年

加强编程语言底层知识,啃完《编译原理》。掌握Android 高级技术,软件安全分析技术、软件开发常用测试、界面交互式系统设计,同时要补充些项目管理方面的知识。继续学习优秀的开源框架,读源码,能自己动手写出简单的框架,对Android技术整体的走向有自己的理解。加强跨平台开发技术。

2024——以后

在熟练掌握应用层的基础上,向类库层及内核层深入。沉淀自己的技术,能做到简单的移动端架构。保持对新技术的渴望,学习与积极向上的态度,探索程序设计领域其他部分的知识。