程序员徐公

微信公众号:程序员徐公

0%

2021 年如何学习 Android, Android 学习路线,学习经验,学习视频分享

大家好,我是程序员徐公,加上实习,总共有五年中大厂经验了。公众号”程序员徐公

今天,站在一个过来人的身份,来聊一聊到底该如何自学 Android。今天的文章不会很具体,主要是各个阶段学习的一些注意事项,以及一些坑。因为我认为,授人以鱼不如授人以渔

目录大概如下

  • Java SE 基础
  • Android 基础
  • Android 进阶
  • Android 学习心得
  • 如何写好自己的简历
  • 小结

Java SE 基础

学些 Android 之前,你必须要有 Java 基础,不然你是学习不下去的。

Java基础

首先我们要掌握 Java 的一些基础概念和语法,比如什么是面向对象,继承,封装,多态分别是什么。

  • Java 基本数据类型
  • Java 变量类型
  • Java 集合
  • Java 多线程
  • Java IO 流
  • Java 网络编程
  • Java 反射
  • Java 泛型
  • Java 注解

这一块中,有三个是非常重要的,也是面试经常问到的,这里简单介绍一下。

  1. 集合
  2. 多线程
  3. 网络

集合

Map:HashMap(最重要)、LinkedHashMap(Lrucache 算法实现最重要的一部分)、ConcurrentHashMap、Hashtable(基本被废弃)、

List:ArrayList(最重要)、LinkedList

Set:HashSet(最重要)、TreeSet

多线程

线程生命周期

创建线程的三种方式:继承 Thread、实现 Runnable;实现 Callable

ThreadPoolExecutor(线程池)

锁:synchronized 和 Lock

Java 学习书籍推荐

这里主要推荐两本数据,

  1. 《Thinking In Java》:Java经典书籍,不必说;
  2. 《Effective Java》:Java进阶必备书籍
  3. Java 编程思想,一本很经典的书籍,初学者可以看,但不建议细看,可以作为工具书来查看

我自己平时整理了一些 Java 常用的数据,想要的话可以在我的公众号 程序员徐公 回复 **”Java 电子书”**,会自动将电子书发给你。

Java 学习视频

小结:

1、刚开始学 Java 的时候

2、看第一遍时会比较慢,第二遍会快一点,已经掌握的知识可以快速带过。

3、有疑问的知识多看几遍,也可以网上看点博文辅助理解,实在看不懂的可以先记下来,后面学到一定程度可能就理解了。

4、对于重点知识,可以做笔记来加深自己的理解,也方便后续自己复习。

5、Java基础、集合、多线程是核心中的核心。


Android 基础

Android 基础大概可以分为一下几个部分

  1. AndroidStudio 安装和基本使用
  2. Android 基础 UI 学习
  3. Android 四大组件学习
  4. Android 五大布局学习
  5. 等等,这里就不一一罗列了

基础 UI 学习

1)、Android初级控件的使用:

TextView控件的使用
Button控件的使用方法
EditText控件的使用方法
ImageView的使用方法
RadioButton的使用方法
Checkbox的使用方法

2)、 控件的布局方法:

LinearLayout
FrameLayout
RelativeLayout
ContrainsLayout (约束布局)

3)、Android高级控件的使用:

ListView的使用方法
GridView的使用方法
Adapter的使用方法
ScrollView的使用方法
RecyclerView

基础的东西有很多,建议集合书籍一起学习吧,这里主要推荐郭霖的第一行代码,写得是真不错。

初学者刚学习的时候,可能会碰到一些问题,一时半会无法解决,建议你先百度或者 Google 搜索一下,问一下身边的人。如果还不会的话,可以加一下身边的人多问问。

如果想看视频的话,我这里有一套 Android 黑马教学视频,质量还不错,不过是几年前的,目录如下,有需要的话可以看一下。

获取方式,关注我的微信公众号程序员徐公,回复黑马两字。


Android 进阶

Android 进阶,学习方向有很多,比如 Android 性能优化(启动,卡顿, Crash 治理), JNI C++,gradle 打包,编译速度,音视频等等,这些都是大的方向。

  1. 性能优化(布局优化,启动优化、内存优化、电量优化、APK 瘦身等)
  2. 组件化(路由,SPI 等)
  3. 动态化(热修复,插件化等)
  4. 跨平台(RN,Flutter,现在会跨平台的还是挺吃香的,尤其是面试阿里系的)

最近写的一些文章,自我感觉还行,有兴趣的可以看看。

Android 启动优化(一) - 有向无环图

Android 启动优化(二) - 拓扑排序的原理以及解题思路

Android 启动优化(三)- AnchorTask 开源了

Android 启动优化(四)- AnchorTask 是怎么实现的

Android 启动优化(五)- AnchorTask 1.0.0 版本正式发布了

Android 启动优化(六)- 深入理解布局优化


Android 学习路上的一些心得

1-3 年

前 3 年,我觉得是我们成长最快的时候。

尤其是刚开始工作的一年,刚开始接触项目,我们会接触到很多新知识,比较网络框架的封装,Android 架构 MVVN,MVC,MVP 等。

这段时期是我们进步最快的时候,因为很多东西我们都不会,我们会逼着自己去学习。

第二到第三年,也是我们成长的关键时期。这时候,在项目中,我们基本会自己独立负责需求。这时候的我们,大多数基本功能都可以自己独立实现。需要注意的是代码风格和代码思维的培养

代码风格,指的是编码习惯。比如方法命名,方法的合理拆分,适当添加注解,注释。听起来可能会很虚,但是千万别小看这些细节。反正我在组里见过一些工作五六年的,代码一坨一坨的,像 si 一样。

代码思维,有点类似于人的视野和思考方式吧。很多时候,实现某个效果,有很多种方案。我们为了应付需求,可能会随便选择一种,没有去了解其他方案。而这恰恰错过了我们成长的最佳时期。

记住,永远别给自己设限,或许在编程的路上会遇到很多问题,但是总会有解决方法的,而这取决你的态度。

3-5 年

这个时期,不出意外,我们基本都是高级工程师了。这时候大多数人会遇到瓶颈,不知道学些什么好。好像什么都会,但是不够深入。我也遇到这样的情况,现在正在深挖。

这方面我暂时也给不了太多意见,只能说,选择一个方向,静下心来,去学习,相信能收获到我们想要的

学习方向有很多,比如 Android 性能优化(启动,卡顿, Crash 治理), JNI C++,gradle 打包,编译速度,音视频等等,这些都是大的方向。

最近写的一些文章,自我感觉还行,有兴趣的可以看看。

Android 启动优化(一) - 有向无环图

Android 启动优化(二) - 拓扑排序的原理以及解题思路

Android 启动优化(三)- AnchorTask 开源了

Android 启动优化(四)- AnchorTask 是怎么实现的

Android 启动优化(五)- AnchorTask 1.0.0 版本正式发布了

Android 启动优化(六)- 深入理解布局优化

5 年之后

技术人的四大出路,你适合哪一个

大多数技术人,一般会有以下方向。

  • 第一:成为技术大神,比如架构师,及技术专家等。
  • 第二:技术管理,比如技术总监等。
  • 第三:技术转型,如转项目管理,产品等,你牛逼的话,说不定下一个张小龙就是你(哥们,想多了,那有这么容易)。
  • 第四:自主创业,做自媒体等

程序员改如何写好自己的简历

一位5年中大厂程序员,从他自身经历出发,总结了一些经验,写得非常不错。

本文送四个纬度出发,优化你的简历- 突出你的亮点

  • 展现自己的个人技能,
  • 已项目为主题,展现自己的技术能力和项目贡献
  • 量化你的项目,给出数字化结果

最后,文中还贴心贴出了简历模板,想进大厂的球友们可以看看。

https://mp.weixin.qq.com/s/cqVo6UQqnWZtKdZ6mJt93w

小结

最后,如果选择编程,一定要耐得住寂寞。学习编程的路上,有时候很枯燥,切忌三天打渔。两天晒网。黑马 Android 52 期学习视频,不加密的,免费分享给大家最后,如果选择编程,一定要耐得住寂寞。学习编程的路上,有时候很枯燥,切忌三天打渔。两天晒网。

我的 5 年 Android 学习之路,那些年一起踩过的坑

如果觉得对你有所帮助的话,可以关注我的微信公众号程序员徐公,5 年中大厂工作经验。

  • 公众号程序员徐公回复黑马,获取 Android 学习视频
  • 公众号程序员徐公回复徐公666,获取简历模板,教你如何优化简历,走近大厂
  • 公众号程序员徐公回复面试,可以获得面试常见算法,剑指 offer 题解
  • 公众号程序员徐公回复马士兵,可以获得马士兵学习视频一份

欢迎关注我的其它发布渠道