乐趣区

关于android:2022-Android-进阶学习RoadMap

看到一篇文章中提到“最近几年国内的高级 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 架构师,技术广度 + 技术深度 + 零碎设计能力 ,那么这三者必须均衡倒退,并缺一不可。
最初如果小伙伴们有什么倡议,或者心愿更多的看到哪类文章,都能够进群留言哦! 十分期待与各位小伙伴的交换!

❤️/ 感激反对 /

以上便是本次分享的全部内容,心愿对你有所帮忙 ^_^

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

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

退出移动版