This chapter is to sort out the commonly used framework, including the source address of the framework and some more detailed blog explanation, to help you find more convenient resources.

network

1.android-async-http:

A relatively old network framework project, although has rarely used, but can learn about the writing method inside.

Source code: Android-async-http

A:

  1. The official website
  2. Android-async-http in the Quick Android Development Web series
  3. Android – Async – HTTP framework library use basis

2.retrofit:

Retrofit is a very popular web request framework that has been open sourced by the Square open source organization and is now widely used.

Source address: Retrofit

A:

  1. The official explanation
  2. A detailed explanation of how to Retrofit
  3. Retrofit analysis – beautiful decoupling routines
  4. Retrofit 2.0: The biggest improvements ever

3.okhttp:

Okhttp is also an open source network encapsulation library from the Square open source organization, and Retrofit is a secondary encapsulation based on this library.

Source address: okhttp

A:

  1. The official explanation
  2. How can I use OkHttp more efficiently
  3. OkHttp: A new generation of HTTP clients on the Java platform
  4. OKHttp source code parsing
  5. Http/Https/SPDY protocol selection

4.Volley

Volley is an open source web request framework developed by Google.

Source address: Volley

A:

  1. Volley (Google IO 2013)
  2. Android Volley Full Analysis (Series)

ReactiveX

The Rx family of well-known responsive development, according to the language contains:

  • Java: RxJava
  • JavaScript: RxJS
  • C#: Rx.NET
  • C#(Unity): UniRx
  • Scala: RxScala
  • Clojure: RxClojure
  • C++: RxCpp
  • Lua: RxLua
  • Ruby: Rx.rb
  • Python: RxPY
  • Groovy: RxGroovy
  • JRuby: RxJRuby
  • Kotlin: RxKotlin
  • Swift: RxSwift
  • PHP: RxPHP

RxNetty: RxNetty RxAndroid: RxAndroid RxCocoa: RxCocoa

Best practices for RxJava combined with Retrofit

Image loading and display

1.Android-Universal-Image-Loader:

Source code: Android-universal-image-loader

Universal image-loader is an open source framework for Android

Android open source framework Universal image-loader full analysis (2) — Image caching strategy in detail

Android open source framework Universal image-loader full analysis (three) — source code interpretation

2. The fresco “:

Source address: Fresco

Best explanation: Official documentation

3.glide:

Source code address: Glide

A: Glide is a dedicated image loading and caching library for smooth scrolling

Google recommended picture loading library Glide introduction

4.picasso:

Source address: Picasso

Best explanation: Official documentation

Picasso – Powerful Android image download cache

5.PhotoView

Source address: PhotoView

A: PhotoView source code analysis

Hot update

1.AndFix:–Alibaba

Source address: AndFix

Alibaba-andfix Bug hotfix framework principle and source code analysis

Android hot patch AndFix principle analysis

2.AndroidInstantRun:–google

Source code address: instant-run

A: In-depth understanding of Android InstantRun principle and source code analysis

Instant Run: How Does it Work? !

3.DroidFix:

Source address: DroidFix

A: Introduction to hot patch dynamic repair technology for Android App

4.HotFix:

Source address: HotFix

A: Implement HotFix for Android automation based on Nuwa

5.Nuwa

Source address: Nuwa

A: Android hot fix Nuwa principle and Gradle plugin source code analysis

Android Hot Update Nuwa implementation steps

6.Tinker

Source code address: Tinker

Best explanation: Official documentation

Android N hybrid compilation and hot patch impact analysis

Tinker source code study (a) : patch generation of DexDiff principle analysis

7.RocooFix:

Source address: RocooFix

8.AnoleFix:

Source address: AnoleFix

9. Robust: – Meituan

Best solution: Android hot update scheme Robust

annotations

1.dagger:

dagger

Best explanation: Official documentation

2.butterknife

Source address: Butterknife

Best explanation: Official documentation

3. Androidannotations:

AndroidAnnotations

Best explanation: Official documentation

4.Dagger2

Source address: Dagger2

5.roboguice

Source code address: Roboguice

The chart

1. WilliamChart:

Source code address: WilliamChart

Support for LineChartView, BarChartView and StackBarChartView, and support Android 2.2 and above.

2. XCL – Charts:

XCL-Charts

Function: XCL-Charts is based on the native Canvas to draw all kinds of Charts. During design, xCL-Charts tries to ensure development efficiency while providing users with enough customization capabilities. Therefore, it is easy to use and flexible to customize. Currently, 3D/ non-3D Bar Chart, 3D/ non-3D Pie Chart, Stacked Bar Chart, Area Chart, Line Chart and Spline are supported Chart, Dount Chart, Nightingale Chart, Dial Chart, Gauge Chart, Radar Chart, Circle Chart, etc. Other features include support for zooming in and out of charts, gesture movement, animated display effects, high-density columnar display, custom lines for chart boundaries, mixed display of multiple charts, and switching between different types of charts from the same data source.

3. HelloCharts for Android:

HelloCharts for Android

Function: support line chart, bar chart, pie chart, bubble chart, combination chart; Support preview, zoom in and out, scrolling, part of the chart support animation; Support Android 2.2 or above

4. MPAndroidChart:

Source address: MPAndroidChart

Features: powerful chart drawing tool, support line chart, area chart, scatter chart, time chart, bar chart, bar chart, pie chart, bubble chart, ring chart, range (high to low) bar chart, mesh chart, etc. Support map drag and zoom; Support Android 2.2 or above, support horizontal/vertical zooming, multi-finger zooming, show animation, highlight, save to SDcard, read chart from file

5. Achartengine:

Source code address: Achartengine

Functions: powerful chart drawing tool, support line chart, area chart, scatter chart, time chart, bar chart, bar chart, pie chart, bubble chart, ring chart, range (high to low) bar chart, dial chart/table, cube chart and various graphs combined

6. GraphView:

Source address: GraphView

Function: Graph and graph View, can be used on Android curve chart, bar chart, wave chart display

7. HoloGraphLibrary:

HoloGraphLibrary

Function: drawing status chart, bar chart, pie chart

8. EazeGraph:

Source address: EazeGraph

Features: Android chart library, support bar chart, layered bar chart, pie chart, linear chart

9. PieChartView:

PieChartView

Function: relatively simple and direct pie statistics report chart, easy to use, set the corresponding property parameters

Design patterns

Here said design mode is Google official public code example of MVP mode, we can learn as a reference:

Stable samples

  • todo-mvp – Basic Model-View-Presenter architecture.

  • todo-mvp-loaders – Based on todo-mvp, fetches data using Loaders.

  • todo-databinding – Based on todo-mvp, uses the Data Binding Library.

  • todo-mvp-clean – Based on todo-mvp, uses concepts from Clean Architecture.

  • todo-mvp-dagger – Based on todo-mvp, uses Dagger2 for Dependency Injection

  • todo-mvp-contentproviders – Based on todo-mvp-loaders, fetches data using Loaders and uses Content Providers

  • todo-mvp-rxjava – Based on todo-mvp, uses RxJava for concurrency and data layer abstraction.

Samples in progress

  • dev-todo-mvp-tablet – Based on todo-mvp, adds a master/detail view for tablets.

External samples

External samples are variants that may not be in sync with the rest of the branches.

  • todo-mvp-fragmentless – Based on todo-mvp, uses Android views instead of Fragments.

  • todo-mvp-conductor – Based on todo-mvp, uses the Conductor framework to refactor to a single Activity architecture.

Event bus

  • EventBus

  • otto

The database

  • ORMLite

  • greendao

  • ormndroid

  • androrm

  • ActiveAndroid

  • Realm

  • Sugar

  • sqlbrite

Network analysis

  • gson

  • fastjson

  • jackson-databind

  • HtmlPaser2

  • jsoup

    Animation

  • lottie-android

  • lottie-ios

  • lottie-react-native

Cross-platform mobile development tools

1.Weex

Source code address: Weex

Official documents:

2.React Native

React Native

React Native React Native

The Log frame

  • Logger

  • hugo

  • timber

Testing framework (Unit Testing)

  • Mockito

  • Robotium

  • robolectric

video

  • Bilibili/ijkplayer

  • vlc

  • vlc-android-sdk

  • FFmpeg

  • android-ffmpeg-java

  • ffmpeg-android

  • GSYVideoPlayer

More topics

  • Bilibili/MagicaSakura

other

Libphonenumber is Google’s open source phonenumber verification library

note

Simultaneous release address: Moxiang blog

It was updated on February 13, 2017 and will continue to be updated.