2022 Android 进阶学习RoadMap

article/2025/10/24 11:12:15

看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“;这的确不假,今年已经是2022年了,距离Android巅峰时期那会已经过去七八年了,现在想找一个适合的中高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的。所以Eason想写一篇文章来描述下Android的学习路线,期望可以帮助更多的Android程序员提升自己。

本文适用于:

  • 任何想学习 Android 开发但不知道从哪里开始的人。

  • 也适用于已经开始进行 Android 开发但想要变得更好的任何人。

为了成为更好的 Android 开发er,Eason为大家提供了总的路线图。如果下面这个学习路线能帮助大家成为一个更好的 Android 开发者,那么我的使命也就完成了:

学习Android App开发的完整指南

Android 开发者路线图

安装 Android Studio IDE 并开始使用 Android

  • 什么是 Android 及其工作原理?

  • 安装 Android Studio

安卓组件

  • 什么是 Activity ?

  • UI设计——用户界面

  • 什么是 View 以及它是如何工作的?

  • Intent 是什么?

  • Activity Lifecycle

  • Dialog UI

Shared Preferences

  • 即使杀死应用程序并重新打开App,数据也会保留,因为可以使用Shared Preferences.

RecyclerView

  • 为了构建显示项目列表的 UI,Android 应用使用 RecyclerView。

  • 微信QQ等应用程序使用 RecyclerView 构造的聊天屏幕。

Kotlin 入门

  • Google 已正式宣布 Kotlin 为 Android 的一流语言。现在学习 Kotlin 很重要。

  • Kotlin 简洁、空安全且可互操作。

  • 从 Kotlin 的基础知识开始。

  • 使用 Kotlin 的基本知识将 Java 代码转换为 Kotlin。

单例、进程和线程

  • 应用程序利用线程可使应用程序运行得更快,并提供最佳的用户体验。

  • 在面试中也会有巨大帮助。

数据库实现

  • 使用数据库来存储消息,即使在没有连网的情况下,也可以看到发送或接收的所
    有消息。

  • 大多数App使用数据库来存储数据。

权限和图像加载

  • 涉及到通话等权限的 App 首次启动时会询问联系权限。

  • 使用 Glide Volley等图像加载库加载提要中的图像。

Work Manager

  • 使用 WorkManager,App 甚至可以在休眠时获取数据,并在早上打开应用程序时向大家显示最新消息,即使在晚上一段时间内没有连接到网络。

Notification

  • 几乎所有的 Android 程序都使用通知显示应用的任何更新。

NetWork

  • 应用程序通过网络调用从服务器Server获取数据。

ViewPager 和 Fragment

  • 像抖音微信主流App使用 ViewPager 让用户在内容Fragment、朋友圈Fragment、个人中心Fragment等之间滚动。

  • Activity 包含 Fragment。

Debugging 和 APK 发布

  • Debugging —— 这对开发人者来说是一个学习机会,毕竟最重要的技能之一。

  • APK 发布 —— 在应用商店中发布应用并轻松接触到用户。

要点

  • 什么是上下文 Context?

  • 面向对象编程——OOP

  • 类设计和结构

  • 文件系统、读、写、Asset 读写

  • Android中的约束布局ConstraintLayout

  • Android 中的Canvas API

  • 自定义 View

到此,你已经差不多掌握了基础的知识了,将轻松实现:

  1. 开始开发属于自己的DIY Android 应用程序。

  2. 在 Android领域 中找到你的第一份实习工作。

  3. 在应用商店上发布应用。

现在,让我们开始下一个里程碑

Dagger

  • 当项目变得更大时,大家需要了解依赖管理并在项目中使用 Dagger 来管理依赖关系。
    像 Google 这样的公司在他们的 Android 应用程序中使用 Dagger。
  • 学习设计自己的依赖管理框架。

学习 Kotlin

  • 重温 Kotlin 的基础知识。
  • 开始学习 Kotlin 语言特定的功能。
  • 学习 Kotlin 高级功能。
  • 如今,大多数公司的新项目都开始使用 Kotlin。此外,较旧的 Java 项目正在迁移到 Kotlin。

Architectural Components

  • LiveData、LifeCycle、ViewModel 等架构组件有助于管理我们的 UI 组件生命周期和处理数据持久性。
  • 生命周期处理的挑战,Activity 轮换问题
  • 学习创建生命周期感知组件
  • 共享 ViewModel

RxJava

  • RxJava 已成为 Android 开发中最重要的一项技能。
  • 几乎每个应用程序都使用 RxJava 进行多线程处理。
  • RxJava 使开发人员的生活变得轻松。
  • 线程在 Android 中是如何工作的?

数据库设计

  • 应用程序使用数据库在 Android 端存储数据,并设计数据库以使查询更快,从而使应用程序运行得更快。
  • 现在,我们使用的是 Google 创建的库 Room。Room 在 SQLite 之上提供了一个抽象层,以允许流畅的数据库访问,同时利用 SQLite 的全部功能。
  • 了解关系数据库概念
  • 规范化和多对多关系
  • 了解类型转换器,Room数据库中的迁移。

联网

  • Android 应用程序使用 Retrofit 等网络库来获取数据。
  • 如今,Retrofit 是进行网络调用的著名库之一。
  • 学习创建 GET、POST 请求和处理复杂数据模型
  • 了解与网络相关的许多概念,例如用于上传图像的Multipart、拦截器。

MVVM 、MVC 和 MVP

  • 学习使用带有架构组件、LiveData、ViewModel、ViewModelFactory、Dagger、Retrofit、RxJava 的 MVVM 架构来构建登录、Feed、帖子创建和个人资料页面。
  • 了解 MVC、MVP 和 MVVM 架构。
  • ViewModel、ViewModelProviders、ViewModelProviderFactory 是如何工作的?
  • 构建功能,例如通过相机捕获图像,通过图库选择图像
  • 使用 Multipart 上传图片。
  • 生命周期感知 RecyclerView 的原理
  • Lifecycle Aware RecyclerView ViewHolder 的实现:一般开发者会忽略这一点。优秀的开发人员在开发 Android 应用程序时会考虑所有边缘情况。
  • 使用 RxJava 实现分页功能

单元测试

  • 测试是一个软件开发过程,我们在其中做很多不同的事情来发现错误。错误的数量越少,该特定软件在生产中表现良好的机会就越大。
  • 它迫使大家遵循代码库中的架构,有助于在开发周期中快速检测故障,并帮助大家进行更安全的代码重构,使优化代码而不必担心回归。

Kotlin 协程

  • 协程到底是什么?
  • 需要 Kotlin Coroutines 提供的解决方案
  • 调度程序,挂起,启动,异步
  • Kotlin 协程中的作用域是什么?
  • Kotlin 协程中的异常处理

Android 构建系统和内存管理

  • 了解Android Build系统,内存管理对于Android开发者来说非常重要。
  • 它将帮助大家构建消耗更少内存的 Android 应用程序
  • 还在破解顶级公司的面试。

Android 多线程和 Handler-Looper

  • 了解多线程将帮助大家有效地在后台执行任务。
  • Android Looper、Handler 和 HandlerThread 是 Android OS 的构建块。所以这是面试中被问到最多的话题之一。
  • 多线程和 Handler-Looper 对面试很重要。

网络缓存拦截器图像加载

  • 了解三方库的内部结构和源码对于充分利用它很重要。
  • 此外,这些概念将使大家在面试时比其他候选人占上风。

如果前面这些大家都没有问题,那么大家已经实现了:

  1. 具有构建强大架构 Android 应用程序的能力。
  2. 在 Android 领域找到不错的工作。

当然Github 上也有很多开源的项目,多看看源码,自己才能快速提升;《Android开源项目分类汇总》,这里几乎汇总了github 上所有的开源项目,可以自己找些慢慢学;虽然学习是乏味的事,但坚持到最后是不易的;要善于利用搜索引擎,遇到不会的问题,要使用Google 搜索;对了,作为一个开发者,要学会自备梯子;

总的来说,作为一个中高级Android开发或者Android架构师,技术广度 + 技术深度 + 系统设计能力,那么这三者必须平衡发展,并缺一不可。
最后如果小伙伴们有什么建议,或者希望更多的看到哪类文章,都可以进群留言哦!非常期待与各位小伙伴的交流!

❤️/ 感谢支持 /

以上便是本次分享的全部内容,希望对你有所帮助_

喜欢的话别忘了 分享、点赞、收藏 三连哦~

欢迎关注公众号 程序员巴士,来自字节、虾皮、招银的三端兄弟,分享编程经验、技术干货与职业规划,助你少走弯路进大厂。


http://chatgpt.dhexx.cn/article/YxDeMkxc.shtml

相关文章

Android入门基础教程

第1章 Android Studio运行第一个程序 1.1 Android Studio下载: 1.1.1 Android开发者官网: https://developer.android.google.cn ​ 1.1.2 下载Android Studio开发者工具: 进入Android开发者官网;找到Android Studio工具下载页…

学习Android逆向

工具 抓包:httpcanary高级版-Android文档类资源-CSDN下载安卓手机抓包工具httpcanary高级版.apk更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/XJ74110/85031291 反编译:AndroidKiller_v1.3.1-Android文档类资源-CSDN下…

Android 学习路线

Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 HashMap 和 HashTable 区别 HashCode 作用,如何重载hashCode方法 ArrayList与LinkList区别与联系 GC机制 Java反射机制,Java…

【Android -- 学习】学习资料汇总

文章目录 一、前言二、书籍1. Java 书籍2. 算法与数据结构3. 操作系统4. 网络5. Android 书籍6. 软件工程7. 敏捷开发8. 其它 三、学习网站1. 大学资源网2. 北京大学公开课3. 大学自学网4. 偶书5. 哔哩哔哩6. 简单教程7. Stack Overflow8. YouTube9. 牛客网10. CSDN 四、博客五…

Android八大模块进阶学习笔记(性能优化、百大框架、高级UI、Flutter、Kotlin...)

今年来,Android开发行业的就业形势愈加严峻,无论刚刚入门Android学习没有头绪的、还是开发多年想要突破薪资范畴的,都需要跳出编码和业务的局限,学会选型、扩展, 提升编程思维,建立良好的职业规划&#xff…

Android学习笔记(一):Android基础

1 Android发展和历史 Android是由Android公司创造的手机操作系统,公司创始人是Andy Rubin,后来被Google收购,Google于2007年11月发布了Android 1.0手机操作系统,在2009年发布了Android 1.5,此后Android发展迅速。目前…

dspic c语言教程,轻松学PIC之数码管篇 PIC单片机学习系列教程

轻松学PIC之数码管篇 PIC单片机学习系列教程 大家好,通过前一期的学习,我们已经对ICD2仿真烧写器和增强型PIC实验板的使用方法及学习方式有所了解与熟悉,学会了如何用单片机来控制发光管、继电器、蜂鸣器、按键等资源,体会到了学习…

PIC单片机之I/O控制

I/O控制对于单片机而言是最基础最核心的东西,其实单片机除了AD DA 转换之外的事情。其他大部分的事情I/O口都能做的到。I/O控制简单却能千变万化。 单片机在大部分应用中做的事情,莫过于 输入高低电平 ,输出高低电平。就是通过这简单的控制电…

PIC单片机入门_中断系统详解

1.中断的基本概念 当单片机正在执行程序时,出现了某些特殊状况,例如定时时间到、有键盘信号输入等,此时CPU须要暂时停止当前的程序,而转去执行处理这些事件的程序,待执行完这些特定的程序之后,再返回到原先…

PIC单片机学习笔记

视频内容来自哔哩哔哩-【单片机】PIC单片机F877A视频教程(郭天祥) 1、简介 本视频使用的单片机是PIC16F877A (公司用的的dsPIC33FJ128GP306) dsPIC33——16位单片机 中档产品仅有35条汇编语言——意外之喜 哈佛总线结构、RI…

PIC单片机学习—USART串口

PIC单片机学习—USART串口 最近做了几个项目都用到了PIC单片机,在这几个项目之前我只用到了51单片机和STM32来做控制类的项目,用PIC单片机的时候发现使用的时候和51单片机还是有所区别,有许多小坑需要注意,所以决定写几篇针对新手…

PIC单片机应用开发实践教程(四): MPLAB X IDE Debug

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 当程序写好后,我们就可以使用在线调试功能,验证代码的正确性。 1、打开工程 File - Open Project ,打开我们要调试的工程 2、打开工程属性&#xf…

PIC单片机

PIC芯片所用编译器是MPLAB X IDE,刚开始接触PIC单片机,也是一脸茫然,然后查阅资料逐渐了解、运用编译器,这里我就不说编译器怎么使用了,下面我将以PIC12LF1822芯片为例,简单来说说我见解,分别说…

PIC单片机应用开发实践教程(六): 代码配置器(MCC)

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 1、简介 MPLAB 代码配置器(MPLAB Code Configurator,MCC)通过图形用户界面(Graphical User Interface,GUI)生成驱…

【PIC】单片机基本概述

1. 公司 PIC 单片机是 Microchip(微芯) 公司的产品,始于1989年。 2. 精简指令集技术 传统的单片机采用复杂指令集(Complex Instruction Set Computer, CISC)结构,通常有50~110条。而 PIC 采用精简指令集&…

PIC单片机应用开发实践教程(二): 新建工程

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 1 打开MPLAB X IDE File---New Project Microchip Embedded --- Standalone Project 选择所用MCU对应型号 点击 Finish 后,工程就建好了 2 添加main.c文件 3 添加main.h文件 …

PIC单片机的入门认识(以PIC12为学习目标)

1.学习PIC12针脚定义 针脚1及针脚8可接电源5V和地线。针脚2.3可外接晶振。 针脚4为复位脚,当单片机正常运行时接高电平,若有一个低电平输入,单片机便复位。 针脚5则为单片机的I/O脚,可控制它为输入或输出,输入0&…

PIC单片机应用开发实践教程(七):PIC16F153xx——时钟使用

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 PIC16F15355 内部晶振框图如下,从框图中我们知道MCU时钟来源有3个:外部时钟,内部时钟,Timer1 内部时钟源(INTERNAL CLOCK SOUR…

PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)

PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE) 教程中使用的电脑运行Windows 10 专业版 64位系统 1、下载 MPLAB X IDE v4.05 历史版本:http://www.microchip.com/development-tools/pic-and-dspic-downl…

PIC单片机-Mplab的使用与PIC单片机介绍

内容包括Mplab IDE与Mplab X IDE的使用,触摸功能实践,PIC单片机C与汇编混合编程,PIC单片机介绍等。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易! 目录: 一、Mplab IDE的使用…