https://medium.com/mindorks/android-development-learning-path-2020-edition-3f464ac56dbf
视频:
https://www.youtube.com/watch?v=kKNgeeL3YOE
A Complete Learning path for Android Developer
I have been continuously getting requests on different channels to help with the learning path for Android Developers. So, I decided to answer this and help learners. I am sure this is going to help many developers who are willing to become a better Android Developer.
A complete guide for learning Android App development
Android App Development Online Course
A complete guide for learning Android App development. Learn Android App Development from the Best.
mindorks.com
You just need to follow the following path for learning Android Development in 2020. You can find the updated resources to learn each topic mentioned in the learning path here.
Watch the video format here.
Let’s get started
Programming
Java
Kotlin
https://www.kotlincn.net/
https://www.tutorialspoint.com/kotlin/kotlin_environment_setup.htm
https://kotlinlang.org/docs/tutorials/getting-started-eclipse.html
中文:https://www.kotlincn.net/docs/reference/
下载: https://legacy.gitbook.com/book/hltj/kotlin-reference-chinese/details
https://www.runoob.com/kotlin/kotlin-basic-syntax.html
Android Studio : https://developer.android.com/studio
Android Studio IDE Overview
Android Studio 是基于 IntelliJ IDEA 的官方 Android 应用开发集成开发环境 (IDE)。除了 IntelliJ 强大的代码编辑器和开发者工具,Android Studio 提供了更多可提高 Android 应用构建效率的功能,例如:
基于 Gradle 的灵活构建系统
快速且功能丰富的模拟器
可针对所有 Android 设备进行开发的统一环境
Instant Run,可将变更推送到正在运行的应用,无需构建新的 APK
可帮助您构建常用应用功能和导入示例代码的代码模板和 GitHub 集成
丰富的测试工具和框架
可捕捉性能、易用性、版本兼容性以及其他问题的 Lint 工具
C++ 和 NDK 支持
内置对 Google 云端平台的支持,可轻松集成 Google Cloud Messaging 和 App 引擎
Project Structure — Java/Kotlin, XML, .gradle files
Android Component
Activity — Activity Lifecycle, Tasks & Back Stack
Service
Broadcast Receiver
Content Provider
Intents
Types of Intent - Implicit, Explicit
Intent Filter
Static User Interface
View — Button, ImageView, TextView, EditText, and etc
ViewGroup - LinearLayout, RelativeLayout, FrameLayout, ConstraintLayout
Dynamic User Interface
RecyclerView
ViewPager
Spinner
CustomView
Canvas
Bitmap
Paint
UI Resources
Drawables
String
Styles
Fragments
Fragment Lifecycle
Fragment Manager
Support User Interface
ProgressBar
Dialogs
Toast & Snackbar
Storage
Shared Preferences
File Systems
Database — RoomDB
Build
Gradle
Debug / Release Configuration
Threading
Threads
Handler / Looper
Debugging
Memory profiling
Logging
Systrace
Exceptions
Error Handling
Memory Leak
Detecting and Fixing Memory Leaks
Context
3rd Party Library
Image Loading - Glide, Picasso
Dependency Injection - Dagger
Networking - Fast Android Networking Library, Retrofit
MultiThreading - RxJava, Coroutines
Data Format
JSON — GSON
Flat Buffer
Protocol Buffer
Android Jetpack
Foundation Components — AppCompat, Android KTX, Multidex
Architecture Components — LiveData, ViewModel, DataBinding, Paging, Work Manager, Navigation
Behaviour Components - Download Manager, Media Playback, Notification, Permissions, Preference, Sharing, Slice
UI Component - Animation & Transition, Android Auto, Emoji, Palette, Android TV, Android Wear
Architecture
MVVM
MVI
MVP
Unit Testing
Local Unit Testing
Instrumentation Testing
Firebase
FCM
Crashlytics
Analytics
Remote Config
App Indexing
Dynamic Link
Security
Encrypt / Decrypt
Proguard
R8
App Release
.keystore file
App Bundle
Playstore
Keep Learning and Improving
Keep looking for new content on Android Development here.
If you are looking for interview preparation kit for your next job. Check here for the Tech Interview Preparation Kit.
You can download the image format of this learning path from here.
You can find the updated free tutorials to learn each topic mentioned in the learning path here.
Learn to build a ride-sharing Android app like Uber, Lyft.
If you need any help during your learning, do not hesitate to reach out to me via different channels: Twitter, Linkedin, Github, Quora, and Facebook.
Thanks, have a wonderful journey ahead.