看到一篇文章中提到“最近几年国内的高级 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 畛域找到不错的工作。
当然 Github 上也有很多开源的我的项目,多看看源码,本人能力疾速晋升;《Android 开源我的项目分类汇总》,这里简直汇总了 github 上所有的开源我的项目,能够本人找些缓缓学;尽管学习是乏味的事,但保持到最初是不易的;要长于利用搜索引擎,遇到不会的问题,要应用 Google 搜寻;对了,作为一个开发者,要学会自备梯子;
总的来说,作为一个中高级 Android 开发或者 Android 架构师,技术广度 + 技术深度 + 零碎设计能力 ,那么这三者必须均衡倒退,并缺一不可。
最初如果小伙伴们有什么倡议,或者心愿更多的看到哪类文章,都能够进群留言哦! 十分期待与各位小伙伴的交换!
❤️/ 感激反对 /
以上便是本次分享的全部内容,心愿对你有所帮忙 ^_^
喜爱的话别忘了 分享、点赞、珍藏 三连哦~
欢送关注公众号 程序员巴士,来自字节、虾皮、招银的三端兄弟,分享编程教训、技术干货与职业规划,助你少走弯路进大厂。