newAndroid-All-StarThe page has been online, the future update will be carried out in this page!

Remember any third party components or frameworks you encounter on your project! Star and Respect All!

If you have a good open source project recommendation or you are an open source project developer, welcome to share!

If the open source libraries recommended in this article are obsolete or have too many bugs to be recommended anymore, feel free to mention them!

The detailed format of the entry is as follows:

Github: // Github star Project Introduction: // Framework or component introduction project reference Blog: // Framework or component can refer to how to use BlogCopy the code

interface

The picture

android-gif-drawable

Views and Drawable for displaying animated GIFs on Android

Making 🌟 : 8.7 k

Android – GIF – Drawable tutorial

CircleImageView

A fast Circular ImageView perfect for profile images.

Making 🌟 : 13.8 k

CircleImageView for Android

RoundedImageView

A fast ImageView that Supports Rounded Corners, Ovals, and Circles.

Making 🌟 : 6.2 k

Android RoundedImageView set a variety of round, square avatar

PhotoView

Implementation of ImageView for Android that supports zooming, by various touch Gestures.

Making 🌟 : 17.6 k

Project reference Blog: Android UI Libs PhotoView

subsampling-scale-image-view

Project Introduction: Android library (AAR). Highly configurable, easily extendable deep zoom view for displaying huge images without loss of detail.

Making 🌟 : 6.7 k

Subsampling Scale Image View WiKi

uCrop

Project Description: Image Cropping Library for Android

Making 🌟 : 10.6 k

Project reference Blog: Android7.0 photography and using uCrop cropping

PictureSelector

Picture Selector Library for Android or multiple Picture selectors

Making 🌟 : 10.1 k

Android: Pictures.pictures.pictures.pictures.pdf

The text

richeditor-android

RichEditor for Android is a beautiful Rich Text WYSIWYG Editor for Android.

Making 🌟 : 5.4 k

Powerful rich text editor for mobile richeditor- Android

TextSurface

A little animation framework which could help you to show message in A nice looking way

Making 🌟 : 2.1 k

Project reference Blog: an Android text display animation framework: TextSurface

Popup window

BaseDialog

Project description: Android BaseDialog(necessary for development) animation, loading progress, shadow, top, bottom, left, right and middle enter

Making 🌟 : 163

Project reference Blog: Android BaseDialog(development requirements) animation, loading progress, shadows

material-dialogs

😍 A Beautiful, Fluid, and Extensible Dialogs API for Kotlin & Android.

Making 🌟 : 18.7 k

Project reference Blog: Material – Dialogs/Documentation

Toasty

The Usual Toast, but with steroids 💪

Making 🌟 : 6.1 k

Project reference Blog: Usage

The status bar

ImmersionBar

Project description: Android 4.4 above immersive status bar and immersive navigation bar management

Making 🌟 : 9.5 k

Project reference Blog: android4.4 above immersive status Bar and navigation Bar implementation and other management Bar

Shuffling figure

banner

Project description: only make a custom casting container, do not invade UI ———— Banner 2.0

Making 🌟 : 11.1 k

Project reference Blog: Banner2.0 GitHub introduction

indicator

MagicIndicator

Project Description: Powerful, customizable, easily extensible ViewPager indicator framework. ViewPagerIndicator, TabLayout, PagerSlidingTabStrip is the best alternative

Making 🌟 : 8.6 k

Blog: One of the MagicIndicator series – use the MagicIndicator to build a kaleidoscopic ViewPager indicator

The chart

MPAndroidChart

Project Introduction: A powerful 🚀 Android chart view/graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

Making 🌟 : 33.1 k

Reference Blog: Detailed video tutorials(paid video), MPAndroidChart Documentation

TableView

Project Introduction: TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells

Making 🌟 : 2.8 k

Project Reference Blog: Welcome to the Documentation of the TableView Library

Angle of the

BGABadgeView-Android

Project introduction: Android badge control

Making 🌟 : 2.4 k

Project reference Blog: Initializing the badge control

The selector

Android-PickerView

This is a picker view for Android, support linkage Effect, timepicker and OptionSpicker.

Making 🌟 : 12.7 k

PickerView- Imitation ios wheel time selection, city selection effect

The welcome page

AppIntro

Make a cool intro for your Android app.

Making 🌟 : 9.7 k

Project reference Blog: Basic Usage

The menu

MaterialDrawer

The flexible, easy to use, all in one drawer library for your Android project. Now brand new with Material 2 design

Making 🌟 : 11.3 k

Android, Using Navigation Drawer Across Multiple Activities: The easiest way.

The calendar

CalendarView

Project Description: An elegant, versatile custom UI on Android, support week view, custom week start, high performance calendar control, support hot swap implementation of UI customization!

Making 🌟 : 7.5 k

Project reference Blog: CalendarView uses detailed documentation

Gaussian blur

blurkit-android

Project Description: An elegant, versatile custom UI on Android, support week view, custom week start, high performance calendar control, support hot swap implementation of UI customization!

Making 🌟 : 3.4 k

Project reference Blog: Usage

webview

AgentWeb

AgentWeb is a powerful library based on Android WebView.

Making 🌟 : 8 k

Project reference Blog: WebView performance and user experience optimization

communication

ARouter

Project Description: A framework to help componentize Android App — support routing, communication and decoupling between modules

Making 🌟 : 13 k

Project reference Blog: ARouter/ readme_cn.md

EventBus

Project Introduction: Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality

Making 🌟 : 23.3 k

Project reference Blog: Android EventBus usage

layout

vlayout

Project Introduction: Project vlayout is a powerfull LayoutManager extension for RecyclerView, it provides a group of layouts for RecyclerView. Make it able to handle a complicate situation when grid, list and other layouts in the same recyclerview.

Making 🌟 : 10.7 k

Project reference Blog: VLayout – Make your multi-layout headache free

AndroidAutoSize

Project Description: 🔥 A low-cost Android Screen Adaptation Solution (toutiao Ultimate Version, an extremely low-cost Android screen adaptation solution)

Making 🌟 : 11.3 k

Project reference Blog: Toutiao screen adaptation scheme ultimate version, a very low cost Android screen adaptation scheme.

other

BaseRecyclerViewAdapterHelper

Project Description: BRVAH:Powerful and flexible RecyclerAdapter

Making 🌟 : 21.7 k

Project reference Blog: BRVAH website

MultiLanguages

Project description: Android multi-language switch (compatible with 8.0+) version 2.0, a code to complete the multi-language switch, now support the third-party package multi-language switch (provided that there are corresponding language resources)

Making 🌟 : 300

MultiLanguages/ readme_cn.md

QMUI_Android

Project description: UI library to improve the efficiency of Android UI development

Making 🌟 : 12.8 k

Project reference Blog: QMUI_Android official website

SmartRefreshLayout

Project Description: 🔥 drop-down refresh, drop-down load, secondary refresh, Taobao second floor, RefreshLayout, OverScroll, Android intelligent drop-down refresh framework, support bounding rebound, bounding drag, with strong scalability, integrated with dozens of cool Header and Footer

Making 🌟 : 22.4 k

Project reference Blog: Android smart drop-down refresh framework -SmartRefreshLayout

The picture

Image to load

Glide

An image loading and caching library for Android focused on smooth scrolling

Making 🌟 : 31 k

Project reference Blog: Glide use summary

fresco

An Android Library for Managing images and the memory they use.

Making 🌟 : 16.5 k

Project reference Blog: Fresco Chinese document

Android-Universal-Image-Loader

Powerful and flexible library for loading, caching and displaying images on Android.

Making 🌟 : 16.8 k

Project reference Blog: Home

The image processing

glide-transformations

An Android Transformation Library providing a variety of image transformations for Glide.

Making 🌟 : 9.3 k

Glide- more pictures, Glide- double use (six)

Luban

Luban — Image compression with efficiency very close to WeChat Moments/ probably the most similar Image compression algorithm to WeChat Moments

Making 🌟 : 12.4 k

Project reference Blog: Android image compression -Luban use

android-gpuimage

Android filters based on OpenGL (idea from GPUImage for iOS)

Making 🌟 : 7.8 k

Project reference Blog: Usage

video

player

ijkplayer

Project Description: An elegant, versatile custom UI on Android, support week view, custom week start, high performance calendar control, support hot swap implementation of UI customization!

Making 🌟 : 28.5 k

Project reference Blog: Android super good player — ijkPlayer

GSYVideoPlayer

Project Introduction: Video player (IJKplayer, ExoPlayer, MediaPlayer), HTTPS, support subtitles, support filters, watermarking, GIF screenshots, title ads, middle ads, multiple simultaneous playback, support basic drag, sound, brightness adjustment, support while playing while caching, Support video rotation (90,270, etc.), gravity rotation and manual rotation synchronization support, support list playback, list full screen animation, video loading speed, list small window support drag, animation effect, adjust scale, multi-resolution switching, support switching player, progress bar small window preview, List switching details page seamlessly play, RTSP, CONCat, MPEG.

Making 🌟 : 16 k

Project reference Blog: Three easy ways to use it

network

json

gson

Project introduction: A Java serialization/deserialization library to convert Java Objects into JSON and back

Making 🌟 : 19.4 k

Project reference Blog: GSON

fastjson

Project description: A fast JSON Parser/Generator for Java.

Making 🌟 : 23.2 k

Project reference Blog: Quick Start CN

moshi

A Modern JSON Library for Kotlin and Java.

Making 🌟 : 7.2 k

Project reference Blog: usage and principle analysis of Moshi, a new generation of Json parsing library

The framework

retrofit

Project Description: A type-safe HTTP client for Android and Java.

Making 🌟 : 37.9 k

Project reference Blog: Retrofit website

okhttp

Project Description: Square’s Meticulous HTTP Client for the JVM, Android, and GraalVM.

Making 🌟 : 39.7 k

Project reference Blog: OkHttp

volley

Project Description: Volley is an HTTP library that makes networking for Android apps easier and, most importantly, faster.

Making 🌟 : 3 k

Android Volley (a) the basic use of Volley

Java-WebSocket

A Barebones WebSocket client and Server Implementation written in 100% Java.

Making 🌟 : 7.9 k

Project reference Blog: Java WebSocket development introduction WebSocket

File download

FileDownloader

Project description: Android file download engine, stable, efficient, flexible, easy to use

Making 🌟 : 10.1 k

Project reference Blog: FileDownloader

okdownload

Project description: Reliable, flexible, high performance and powerful download engine.

Making 🌟 : 4.2 k

Blog: Simple Use Guideline

PRDownloader

Project Description: A file downloader library for Android with Pause and Resume support

Making 🌟 : 2.8 k

Project reference Blog: the android file download library | PRDownloader

storage

MMKV

Project description: MMKV is a key-value component based on MMAP memory mapping. Protobuf is used to realize the underlying serialization/deserialization, which has high performance and strong stability and can replace SharedPreferences

Making 🌟 : 12.4 k

Project reference Blog: MMKV — 1. Use, MMKV — 2. Principle

LitePal

An Android library that makes developers use SQLite database extremely easy

Making 🌟 : 7.6 k

Project reference Blog: Android database master secrets

Dependency injection

dagger

A fast Dependency Injector for Android and Java.

Making 🌟 : 15.9 k

Project reference Blog: Dagger 2 fully parse (I), basic usage and principle of Dagger 2

koin

Koin – a Pragmatic Lightweight Dependency Injection framework for Kotlin

Making 🌟 : 6.6 k

Project reference Blog: used by Koin

To optimize the

leakcanary

A memory leak Detection library for Android

Making 🌟 : 25.9 k

Project reference Blog: LeakCanary website

The log

logger

Simple, pretty and powerful Logger for Android

Making 🌟 : 12.1 k

Project reference Blog: Android logging miscellaneous -Logger,Timber,logback- Android

timber

A Logger with A small, Extensible API which provides Utility on top of Android’s Normal Log class.

Making 🌟 : 8.8 k

2.Android log logging miscellaneous -Logger,Timber,logback- Android

permissions

PermissionX

PermissionX is an Extension Android library that makes Android Runtime Permission Request extremely easy

Making 🌟 : 1.6 k

Project reference Blog: PermissionX- author: Guolin

No longer recommended

The following items are recommended for replacement because GitHub has been updated too long, has stopped maintenance, has better alternatives, etc

GitHub update time is too long: The last update time of GitHub is too long, the author may have given up maintenance, and there may be bugs when using it, please be cautious about using it

Stopped maintenance: the author has explicitly stated that the project has stopped maintenance, and no longer provides functional updates and BUG fixes. It is not recommended to use this project

Better alternatives: Such projects are still recommended, but there are better open source frameworks or official libraries to replace them

The detailed format of the entry is as follows:

Click Github 🌟 : // Github star Number of stars Github Updated date // Github last updated date of the latest release of Github: // The latest Releases of Releases on GitHub are no longer recommended because: // For some reason, it is recommended to replace the replacement framework with another framework or component: // The replacement framework or component is recommendedCopy the code

AndroidEventBus

Making 🌟 : 1.6 k

GitHub update: March 2018

Releases the latest Version: May 2015 Version-1.0.4

Not recommended Cause: Maintenance has been discontinued [DEPRECATED]

Alternative frameworks: None

BadgeView

Making 🌟 : 3.9 k

GitHub update: April 2017

Releases the latest Version: September 2017 Version-1.1.3

Not recommended Cause: Maintenance has been discontinued [DEPRECATED]

Alternative frameworks: None

ButterKnife

Making 🌟 : 25.7 k

GitHub update: September 2020

Releases the latest Version: August 2020 Version-10.2.3

Not recommended Cause: Maintenance has been discontinued [DEPRECATED]

Alternative frameworks: official JetPack library DataBinding, official ViewBinding

CardSwipeLayout

Making 🌟 : 1.1 k

GitHub update: March 2017

Releases the latest version: no Release version

Not recommended cause: GitHub updates for a long time

Alternative frameworks: None

greenDAO

Making 🌟 : 12.4 k

GitHub update: February 2021

Releases the latest Version: May 2020 Version-3.3.0

Reasons not recommended: It is complicated to use and there are better alternatives

Alternative frameworks: Room of official JetPack library, LitPal of Guo Lin Da Shen

MVPArms

Making 🌟 : 10 k

GitHub update: June 2020

Releases the latest Version: July 2019 Version-2.5.2

Why not: There are better alternatives

Alternative frameworks: The official recommended MVVM architecture, with JetPack can easily build MVVM architecture, using the official JetPack library to build MVVM architecture

NineOldAndroids

Making 🌟 : 4.5 k

GitHub Update: October 2014

Releases the latest Version: June 2012 Version-2.4.0

Not recommended Cause: Maintenance has been discontinued [DEPRECATED]

Alternative frameworks: None

NumberProgressBar

Making 🌟 : 5.9 k

GitHub update: July 2017

Releases the latest Version: August 2014 Version-1.2

Not recommended cause: GitHub updates for a long time

Alternative frameworks: None

picasso

Making 🌟 : 17.9 k

GitHub update: September 2020

Releases the latest Version: August 2020 Version-2.8

Why not: There are better alternatives

Alternative framework: Glide

ViewPagerIndicator

Making 🌟 : 368

GitHub update: August 2019

Releases the latest Version: August 2019 Version-0.3.0

Why not: There are better alternatives

Alternative framework: MagicIndicatorgithub.com/hackware199…).

Matisse

Making 🌟 : 11.9 k

GitHub update: October 2019

Releases the latest Version: October 2019 Version-0.5.3

Not recommended Cause: Maintenance has been discontinued [DEPRECATED]

Alternative framework: PictureSelector