核心分析内容

对于怎么学习Android,主要解决的是3个问题:学什么、怎么学 & 怎么用。

具体如下:


image.png

下面,我将带着上述几个问题,详细讲解自身学习Android的方法和Android学习路径;最后,还会结合前面内容,给出综合的具体执行学习Android的建议。

  1. 学什么?
面向Android初、中级开发者,对于要学习的Android理论知识,我认为主要包括:

Android基础 & 常用
Android进阶
与时俱进、热门技术
编程语言
计算机基础
具体介绍如下:

1.1 Android基础 & 常用

针对Android基础&常用知识,按照优先级最主要的知识点主要包括:四大组件、布局使用、多线程 & 动画
具体介绍如下:


image.png

1.2 Android进阶

针对Android进阶知识,按照优先级最主要的知识点主要包括:自定义View、性能优化;
具体介绍如下:


image.png

1.3 与时俱进、热门技术

除了基础日常使用的Android知识,我们还需时刻关注行业动态,与时俱进的学习新技术,如近些年来较为热门的Android新兴技术包括:Flutter、热修复、插件化等;
同时,了解 & 学习常用的开源库也十分重要,常用的开源库主要包括图片加载、网络请求、异步处理的开源库,具体类型如下:


image.png

1.4 编程语言:Java 与 Java虚拟机

Android是基于Java的,所以学习Java和Java虚拟机(JVM)十分重要
学习Java不需要类似后端那么深入,我认为作为Android开发者,学习的内容包括:语言特性、基础使用、集合类和机制,具体介绍如下:


image.png

对于Java虚拟机(JVM),属于底层 & 原理性的内容,具体介绍 & 学习的内容包括:

image.png

1.5 计算机基础

除了学习Android特定技术外,对于程序员来说,最基本的计算机基础素养也十分重要的
即所有程序员都该具备的基础知识

主要包括数据结构、算法和计算机网络,具体介绍如下:

image.png

1.6 总结

至此,关于入门Andriod需学习的内容讲解完毕,总结如下:

更加详细 & 具体请看文章:Android知识图谱:我们到底需要学习哪些Android知识?


image.png
  1. 怎么学?
    对于怎么学习Android知识,此处分为3个子问题:

学习路径:如何循序渐进、阶段性的学习Android的理论知识?
获取途径:有哪些高效的方式获取Android理论知识?
学习方式:用什么方式记录?怎么样去记录?
下面将具体介绍。

2.1 学习路径:如何循序渐进、阶段性的学习Android的理论知识?

既然已经知道要学习哪些内容了,下面,该解决的是:学习路径,即什么阶段该学习什么内容
对于Android知识学习阶段,我认为是和Android开发水平相结合的,只要掌握了哪部分知识,就代表你处于Android开发的哪个阶段。
我将Android开发水平分为:初、中、高 & 高级以上,具体对应的知识内容如下:


image.png

所以,按部就班学习Android理论知识,逐步提高自己的开发水平吧!

2.4 总结

至此,关于怎么学习Android知识讲解完毕。此处作简单的总结:

更加详细 & 具体请看文章:Android学习攻略:手把手教你循序渐进地学习Android知识

这是一份全面 & 详细的Android学习指南

3. 怎么应用Android知识?

  • 理论结合实践、学以致用才能更好地获取知识,对于深入理解Android,最好的实践就是 将理论知识运用到Android项目中
  • 所以,此处可以转化成两个问题:
  1. 该如何寻找项目?
  2. 如何将理论知识运用到项目中 & 提高项目的质量

下面我将详细回答这两个问题

3.1 该如何寻找项目?

此处我给出3个方向:

  • 学校:课程设计、社团组织
  • 公司:实习、正职、创业
  • 技术社区:开源项目

具体介绍如下:

这是一份全面 & 详细的Android学习指南

3.2 如何将理论知识运用到项目中 & 提高项目的质量

  • 我认为,项目中的所有功能 & 业务实现都是基于上述说的Android知识的,关键是在于:是否能选择对的知识点 & 组合实现思路。
  • 提高项目质量,即 提高项目含金量、增加技术含量 & 亮点,下面主要是从 项目本身的意义、实现方式、性能优化 & 影响力 4个方面
image.png

额外:具体执行建议

个人认为最高效的执行方式是:以做项目为主、知识体系学习为辅,将技术博客作为一种学习的方式

  • 具体理解的是:
这是一份全面 & 详细的Android学习指南

最后

本人在学习新的东西时,也经常面临一些选择的问题,特别是在想学 Web 服务开发时,经历多年的发展后台服务生态百花齐放:php、java、golang、phython、nodejs 等容易让人在临门一脚时犹豫不决。(毕竟 php 天下第一)

除开业务需求和环境限制,我个人是比较推崇低成本拓展的。万事开头难,“三过门而不入”的坚持并不是每个人都有,而能把现阶段所掌握的去衍生去其他的能力,是比较稳定的技术增值。“贪多嚼不烂”,先有深度,再有宽度,望共勉!
如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入高级程序员群:里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行。
1.LiveDataBus
2.Google官方架构组件
3.Jetpack架构
4.饿了么通信技术
5.OPenGL
6.音视频
7.人工智能
8.Python
9.性能优化
10.Flutter等
这些资料加群639986248领取

更多相关文章

  1. Android引路蜂地图开发示例:基本知识
  2. Android(安卓)Animation学习笔记
  3. Android(安卓)XML解析学习——Sax方式(续)
  4. 十六周总结报告
  5. 【Android】AndroidStudio空指针解决之:listview与adapter的使用
  6. Android入门教程 (一) Android简介和android studio安装
  7. 这是一份全面 & 详细的Android学习指南
  8. 【Android开发学习25】界面布局之相对布局RelativeLayout
  9. 十六周总结报告

随机推荐

  1. LinearLayout 和 RelativeLayout的属性对
  2. 老罗Android开发视频教程 (android解析xml
  3. android adb shell 命令大全
  4. Android VectorDrawable与SVG
  5. Android中margin和padding的区别
  6. Android学习路线图
  7. android 各种小项目
  8. Android流式布局FlowLayout
  9. Android: Android图形基础
  10. Android学习笔记 - 控件篇