Coder Social home page Coder Social logo

zhouhp007 / androidall Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chiclaim/androidall

0.0 0.0 0.0 22.94 MB

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

License: Apache License 2.0

Java 62.92% Kotlin 29.74% HTML 0.80% Dart 2.83% Objective-C 0.22% CMake 0.25% C++ 0.99% JavaScript 0.93% CSS 1.18% AIDL 0.14%

androidall's Introduction

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

#经典书籍#

androidall's People

Contributors

chiclaim avatar yuzhiqiang400 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.