Retour au classement

chiclaim/AndroidAll

Java

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

fragmentjetpackrxjavaretrofitokhttpkotlindaggerbutterknifeandroid-architecturedatastructures-algorithmsjni-androidoptimized-memory
Croissance des étoiles
Étoiles
1.6k
Forks
404
Croissance hebdomadaire
Issues
3
5001k1.5k
avr. 2017mai 2020juin 2023juil. 2026
ArtefactsMavengit clone https://github.com/chiclaim/AndroidAll.git
README

最全的 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 教程:

#设计原则与模式#

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

#Android架构#

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

#Android开源框架#

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

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

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

Jetpack:

RxJava:

Retrofit:

Dagger2:

ButterKnife:

#Android性能优化#

#NDK开发#

#跨平台开发#

Flutter:

#经典书籍#

Dépôts similaires
Blankj/AndroidUtilCode

:fire: Android developers should collect the following utils(updating).

JavaMavenApache License 2.0androidapp
blankj.com/2016/07/31/android-utils-code/
33.7k10.6k
bia-pain-bache/BPB-Worker-Panel

A GUI Panel providing Worker subscriptions for VLESS, Trojan and Warp configs alongside a private DoH server and chain proxies, offering full DNS, clean IP, Fragment, Warp, Warp pro and routing settings for cross-platform clients using Amnezia, Wireguard, Sing-box, Clash/Mihomo and Xray cores.

TypeScriptnpmGNU General Public License v3.0androidchain
bia-pain-bache.github.io/BPB-Worker-Panel/
12.6k31.5k
YoKeyword/Fragmentation

[DEPRECATED] A powerful library that manage Fragment for Android

JavaMavenApache License 2.0fragmentactivity-fragment
9.7k2.1k
JingYeoh/FragmentRigger

:boom:A powerful library powered by AOP to manage Fragments.(一个基于AOP设计的Fragment管理框架)

JavaMavenMIT Licenseandroidandroid-library
2.2k262
ncapdevi/FragNav

An Android library for managing multiple stacks of fragments

Kotlinfragment-transactionsandroid
1.5k223
florent37/ViewTooltip

A fluent tooltip for Android

JavaMavenApache License 2.0androidview
1.1k132
GCX-HCI/ThirtyInch

a MVP library for Android favoring a stateful Presenter

JavaMavenApache License 2.0mvpandroid
1k98
AriesHoo/FastLib

一个Android项目级快速开发框架,节约大部分写常用功能时间以实现更多项目业务功能及体验上的优化。使用说明见wiki

JavaMavenfastandroid
github.com/AriesHoo/FastLib/wiki
49295
smooth-code/fraql

GraphQL fragments made simple ⚡️

JavaScriptnpmgraphqlapollo
44823