Android dry goods framework collection, building projects is essential

Time:2021-1-14

Many excellent frameworks have been used in the development process, such as okhttp of network, fresco of image, gagger2 of injection, etc., which are all excellent frameworks.

So today I will introduce some popular mainstream and excellent frameworks that I know so far.
Android dry goods framework collection, building projects is essential

According to the figure above, we will explain in turn:

DiskLruCache

Best solution of hard disk cache (a set of hard disk cache solution provided by Google: disklrucache (not officially written by Google, but officially certified))

DiskLruCache The best analysis

Universal Image Loader

UIL aims to provide a powerful, flexible and highly customizable instrument for image loading, caching and displaying. 

    It provides a lot of configuration options and good control over the image loading and caching process.

Universal Image Loader The best analysis

Picasso

A powerful image downloading and caching library for Android

Picasso The best analysis

Facebook Fresco

Fresco is a powerful image loading component.

    A module called image pipeline is designed in fresco. It is responsible for loading images from network, local file system and local resources. In order to save space and CPU time to the greatest extent, it contains 3-level cache design (2-level memory, 1-level file).

    There is a module called drawings in fresco, which can easily display the loading graph. When the picture is no longer displayed on the screen, it can release the memory and space in time. Fresco supports Android 2.3 (API level 9) and above.

Facebook Fresco The best analysis

Glide

At the Google Developer Forum held in Thailand, Google introduced us to an image loading library named glide, written by bumptech. This library is widely used in Google's open source projects, including the official app released at the 2014 Google I / O conference.

Glide The best analysis

Asynchronous Http Client for Android

An asynchronous, callback-based Http client for Android built on top of Apache's HttpClient libraries.

Asynchronous Http Client for Android The best analysis

AndroidAsync

AndroidAsync is a low level network protocol library. 

    If you are looking for an easy to use, higher level, Android aware, http request library, check out Ion (it is built on top of AndroidAsync). 

    The typical Android app developer would probably be more interested in Ion.

AndroidAsync The best analysis

OkHttp3

Okhttp is an efficient HTTP client

  Support http2 / spdy black Technology
  Socket automatically selects the best route and supports automatic reconnection
  With automatic maintenance of socket connection pool, reduce the number of handshakes
  Have queue thread pool, easy to write concurrent
  Have interceptors to handle requests and responses easily (such as transparent gzip compression, logging)
  Cache strategy based on headers

OkHttp3 The best analysis

Retrofit

A type-safe REST client for Android and Java

Retrofit The best analysis

Volley

Android volley is a web lib developed by Google, which allows you to access network data more easily and quickly. The network requests of Volley library are asynchronous, so you don't have to worry about asynchronous processing.

Volley's advantages:
  Request queue and request priority
  Request cache and memory management
  Strong expansibility
  You can cancel the request

Volley The best analysis

google-gson

  Gson is a Java library that can be used to convert Java Objects into their JSON representation. 
It can also be used to convert a JSON string to an equivalent Java object. 

    Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

Gson The best analysis

Jackson

This is the home page of the Jackson Project, formerly known as the standard JSON library for Java (or JVM platform in general), or, as the "best JSON parser for Java." Or simply as "JSON for Java." 

    More than that, Jackson is a suite of data-processing tools for Java (and the JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, Protobuf, XML or YAML; 

    and even the large set of data format modules to support data types of widely used data types such as Joda, Guava and many, many more.

    While the actual core components live under their own projects -- including the three core packages (streaming, databind, annotations; 

    data format libraries; data type libraries; JAX-RS provider; 

    and a miscellaneous set of other extension modules -- this project act as the central hub for linking all the pieces together.

Jackson The best analysis

fastjson

Fastjson is a JSON processor written in Java language, developed by Alibaba company.

    1. Follow http://json.org Standard, for its official website included one of the reference implementation.
    2. It supports various types of JDK, including basic JavaBean, collection, map, date, enum and generics.
    3. No dependency, no exception, no extra jar, can run directly on JDK.
    4. Open source, using Apache license 2.0 protocol. http://code.alibabatech.com/wiki/display/FastJSON/Home
    5. With super high performance, no other JSON Library in the Java world can compare with fastjson.

fastjson The best analysis

HTML Parser

  HTML Parser is a Java library used to parse HTML in either a linear or nested fashion. 
Primarily used for transformation or extraction, it features filters, visitors, custom tags and easy to use JavaBeans. 

    It is a fast, robust and well tested package.

HTML Parser

jsoup

Jsoup is a Java HTML parser, which can directly parse a URL address and HTML text content.

    It provides a set of very labor-saving API, which can extract and operate data through DOM, CSS and operation methods similar to jQuery.

jsoup

ORMLite

It's not available. Please add

ORMLite The best analysis

Sugar

Insanely easy way to work with Android Databases.

Sugar The best analysis

greenDAO

greenDAO is a light & fast ORM for Android that maps objects to SQLite Being highly optimized for Android, greenDAO offers great and consumes minimal memory.

greenDAO The best analysis

ActiveAndroid

ActiveAndroid is an active record style ORM (object relational mapper). 

    What does that mean exactly? 

    Well, ActiveAndroid allows you to save and retrieve SQLite database records without ever writing a single SQL statement. 

    Each database record is wrapped neatly into a class with methods like save() and delete().

ActiveAndroid The best analysis

SQLBrite

A lightweight wrapper around SQLiteOpenHelper and ContentResolver which introduces reactive stream semantics to queries.

SQLBrite The best analysis

Realm

Realm is a cross platform mobile database engine, which was released in July 2014. To be exact, it is one of the data persistence solutions specially designed for mobile applications.

Realm The best analysis

Butter Knife

Field and method binding for Android views which uses annotation processing to generate boilerplate code for you.

Butter Knife The best analysis Best resolution (8. +)

Dagger2

Dagger2 is an Android dependency injection framework developed by Google, and the earliest version dagger1 was developed by square.

    Dependency injection framework is mainly used for decoupling between modules to improve the robustness and maintainability of code.

    Dagger's name not only comes from its original intention of "dagger", but also implies its principle.

    Jake Wharton pointed out in his introduction to dagger that dagger is DAG Er, and DAG here is DAG in data structure -- directed acyclic graph.

    In other words, dagger is a dependency annotation based on the structure of directed acyclic graph, so there can be no cyclic dependency in the use of dagger.

Dagger2 The best analysis

AndroidAnnotations

AndroidAnnotations is an Open Source framework that speeds up Android

  1,It takes care of the plumbing, and lets you concentrate

    2,what's really important. By simplifying your code, it facilitatesits maintenance.

AndroidAnnotations Wiki

RoboGuice 3

RoboGuice 3 smoothes out some of the wrinkles in your Android development experience and makes things simple and fun. 

    Do you always forget to check for null when you getIntent().getExtras()? RoboGuice 3 will help you. 
    
    Think casting findViewById() to a TextView shouldn’t be necessary? RoboGuice 3 is on it.

RoboGuice3 The best analysis

WilliamChart

WilliamChart is an Android Library to help the implementation of charts in android applications. 

    For the ones that would like to contribute, my idea is not only to implement the conventional chart features but instead something that could be pleasant and intuitive while representing and visualizing data. 

    I would prefer to keep charts simple and clean rather than overfeatured.

WilliamChart The best analysis

HelloCharts for Android

Charting library for Android compatible with API 8+(Android 2.2). Works best when hardware acceleration is available, so API 14+(Android4.0) is recommended. Apache License 2.0.

HelloCharts for Android The best analysis

MPAndroidChart

Mpandroidchart is an open source chart Library Based on Android. Mpandroidchart can not only draw various statistical charts on Android devices, but also drag and zoom the charts, which is very flexible in application.

Mpandroidchart also has common chart types: line chart, pie chart, column chart and scatter chart.

MPAndroidChart The best analysis

Tape

Tape is a non fast, transactional, file based FIFO. For Android and Java platforms.

Tape

Android Priority Job Queue

Android priority job queue is a kind of background task queue class library specially written for Android platform. It can easily perform scheduled tasks in the background and improve the user experience and application stability.

Android Priority Job Queue

EventBus

Eventbus is an Android optimized publish / subscribe message bus, which simplifies the communication between components in the application and between components and background threads.

For example, request the network and notify the UI through the handler or broadcast when the network returns. The two fragments need to communicate through the listener. These requirements can be realized through the eventbus.

EventBus The best analysis

Otto

An enhanced Guava-based event bus with emphasis on Android support.

Otto is an event bus designed to decouple different parts of your application while still allowing them to communicate efficiently.

Forked from Guava, Otto adds unique functionality to an already refined event bus as well as specializing it to the Android platform.

Otto The best analysis

RxAndroid: Reactive Extensions for Android

Android specific bindings for RxJava.

This module adds the minimum classes to RxJava that make writing reactive components in Android applications easy and hassle-free. More

specifically, it provides a Scheduler that schedules on the main thread or any given Looper.

RxAndroid The best analysis

RxBinding

RxJava binding APIs for Android UI widgets from the platform and support libraries.

RxBinding The best analysis

Agera

Agera is a set of classes and interfaces to help write functional, asynchronous, and reactive applications for Android.

Agera The best analysis

Logger

Simple, pretty and powerful logger for android

Logger provides :
   Thread information
   Class information
   Method information
   Pretty-print for json content
   Pretty-print for new line "\n"
   Clean output
   Jump to source

Logger

Hugo

Annotation-triggered method call logging for your debug builds.

Hugo

Timber

This is a logger with a small, extensible API which provides utility on top of Android's normal Log class.

Timber

Mockito

Tasty mocking framework for unit tests in Java

Mockito The best analysis

Robotium

Robotium is a foreign Android automation testing framework, mainly for the application of Android platform for black box automation testing, it provides the simulation of a variety of gesture operations (click, long press, slide, etc.), search and assertion mechanism API, can operate on a variety of controls.

Robotium

Robolectric

Robolectric is a testing framework that de-fangs the Android SDK so you can test-drive the development of your Android app.

Robolectric The best analysis

Stetho

Stetho is a sophisticated debug bridge for Android applications. 

When enabled, developers have access to the Chrome Developer Tools feature natively part of the Chrome desktop browser. 

Developers can also choose to enable the optional dumpapp tool which offers a powerful command-line interface to application internals.

Stetho The best analysis

LeakCanary

A memory leak detection library for Android and Java.

LeakCanary The best analysis

ACRA

ACRA is a library enabling Android Application to automatically post their crash reports to a GoogleDoc form.
 
It is targeted to android applications developers to help them get data from their applications when they crash or behave erroneously.

ACRA Wiki

At this point, the end, if there are any mistakes or questions, welcome to reply, I will reply as soon as I see it.

by anonymous

Recommended Today

Introduction to vernacular spring cloud

First of all, let me show you a picture. If you don’t understand this picture very well, I hope you will suddenly realize it after reading my article. What is spring cloud Building a distributed system doesn’t need to be complex and error prone. Spring cloud provides a simple and easy to accept programming model […]