• Stars
    star
    1,611
  • Rank 29,049 (Top 0.6 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android 程序员需要掌握的技术栈:数据结构算法、程序架构、设计模式、性能优化、Kotlin、NDK、Jetpack,以及常用的开源框架源码分析如 Flutter、Router、RxJava、Glide、LeakCanary、Dagger2、Retrofit、OkHttp、ButterKnife 等

最全的 Android 技术栈

Android 程序员所需要的技能:「数据结构算法」「程序架构」「设计模式」「性能优化」「组件化」「NDK技术」「自定义View」「性能优化」「Android源码分析」「深入理解Kotlin」「Java核心技术」「Jetpack」「Router」「Flutter」「RxJava」「Glide」「LeakCanary」「Dagger2」「Retrofit」「OkHttp」「ButterKnife」「GreenDAO」「经典书籍」等。如果您有任何问题或建议欢迎 Issues 。 Android 知识脉络路线图:

android-roadmap

#Java核心技术#

为了能够开发高质量的 Android App,首先要求我们具备扎实的 Java 基础。

不仅需要熟练使用 Java 各项 API。如 Java 网络编程、多线程并发、集合框架等。

还需要掌握常见 API 的底层原理。如 集合框架的实现原理,要求我们掌握常用的数据结构与算法。

除此以外,还需要我们对 Java 执行机制有一定了解,这个时候可要求我们对 Java 虚拟机有一定的掌握。如 class 字节码、类加载器、垃圾回收机制等。

关于这方面的知识,可以学习参考我之前的一些总结:

Java基础:

Java网络编程:

JavaIO:

Java多线程:

Java集合框架:

Java虚拟机:

数据结构与算法:

#深入理解Kotlin#

随着 Kotlin 在 Android 开发的过程中的普及,以及 Kotlin 本身的一些优势。要求我们对 Kotlin 也需要有很好的掌握。

为了更好的更快更深入的学习 Kotlin,我们可以在学习 Kotlin 的过程中,深度对比 Java,让我们对 Kotlin 的掌握程度快速达到对 Java 的掌握程度。

关于这 Koltin 相关的资料大家可参考我下面的文章,其中包括:类型体系、Lambda 表达式、高阶函数、泛型、集合、操作符重载、协程等 Kotlin 核心概念等:

以下是我在 B 站录制的 Kotlin 教程:

接下来,会更新的主题:

  • Enum 起源
  • Kotlin Exception 设计理念
  • 注解、反射
  • Lambda
  • 高阶函数
  • inline crossinline noinline
  • 泛型
  • return、continue
  • 协程

#设计原则与模式#

设计原则对我们设计出高内聚、低耦合的可维护代码起着至关重要的作用。设计原则与模式很简单,但是如何很好的应用到实际工作中,显得不那么简单。需要我们不断的去琢磨与思考,在这方面我也有一些心得与体会,和大家一起探讨:

#Android架构#

随着我们对设计原则与设计模式的理解与实践,我们也会对程序的一些架构提出一些问题,例如如何去解决我们项目中已存在的一些架构问题,关于这方面的内容可以参考:

#Android开源框架#

使用 Android 开源框架,避免我们重复创建轮子。使用高质量的开源框架,能够帮助我们快速构建高质量的程序。

与此同时,我们了解其被的实现原理,知其然也知其所以然。我们也可以学到很多代码设计上的技巧,同时也能够帮我们快速排查问题。

这方面的内容,大家可以参考我的一些分析文章:

Jetpack:

RxJava:

Retrofit:

Dagger2:

ButterKnife:

#Android性能优化#

#NDK开发#

#跨平台开发#

Flutter:

#经典书籍#

More Repositories

1

AndroidDownloader

高效的App版本更新库,提供两个下载引擎:HttpURLConnection(推荐) 和系统的 DownloadManager
Kotlin
293
star
2

AndroidDataBinding

Android master MVVM, Data binding and RxJava
Java
83
star
3

android-webview-upload-file

android webview choose file to upload
Java
57
star
4

AndroidRxJavaSample

RxJava In Action(Deprecated) Please See Android All
Java
49
star
5

MRouter

Android 组件化路由框架,基于 APT、ASM、Gradle Plugin 等技术。实现了页面的跳转、参数的自动注入、路由栈管理、简单的依赖注入等功能
Java
47
star
6

KotlinTutorials

Kotlin 入门到进阶
Kotlin
37
star
7

ApkBatchPackage

安卓多渠道打包工具(支持V1/V2/V3/V4签名)
Python
37
star
8

AndroidMaterialDesign

Amdroid Material Design Widget and Motion
Java
32
star
9

GitRepos

统一管理 Git 多仓库,使用上比 Google Repo 更加便利
Python
14
star
10

AndroidVersionDiff

Android 各版本新特性及避坑指南
Kotlin
13
star
11

WanFlutter

Flutter 实现 www.wanandroid.com 客户端
Dart
5
star
12

BookCodePractise

BookCodePractise
Java
3
star
13

study-butterknife

study jakewarton's butterknife! Just for learn
Java
2
star
14

Android-Storage-Best-Practices

Android Storage Best Practices(Androd 存储最佳实践)
Kotlin
2
star
15

GitTutorials

Git In Action,超级实用的 Git 实战教程
2
star
16

Awesome-JavaFeatures

Java7 到 Java20 的新特性
Java
1
star
17

android_mvvm_server

java web server for awesome_android_mvvm
Java
1
star
18

dagger2-sample

dagger2-sample
Java
1
star
19

KotlinCoroutineTutorial

Kotlin
1
star
20

JavaAlgorithms

Java 版数据结构与算法的实现
Java
1
star