4

2022 Android 进阶学习RoadMap!

 2 years ago
source link: https://mobile.51cto.com/android-698740.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

2022 Android 进阶学习RoadMap!

“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“;这的确不假,今年已经是2022年了,距离Android巅峰时期那会已经过去七八年了,现在想找一个适合的中高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的。

作者: Eason 来源: 程序员巴士|2022-01-11 18:20

看到一篇文章中提到“最近几年国内的初级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

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

  • 开始开发属于自己的DIY Android 应用程序。
  • 在 Android领域 中找到你的第一份实习工作。
  • 在应用商店上发布应用。

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

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 对面试很重要。

网络缓存拦截器图像加载

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

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

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

【编辑推荐】

【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK