So today I will introduce some popular mainstream and excellent frameworks that I know so far.
According to the figure above, we will explain in turn:
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))
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.
A powerful image downloading and caching library for Android
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.
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.
Asynchronous Http Client for Android
An asynchronous, callback-based Http client for Android built on top of Apache's HttpClient libraries.
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.
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
A type-safe REST client for Android and Java
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
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.
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.
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.
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.
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.
It's not available. Please add
Insanely easy way to work with Android Databases.
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.
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().
A lightweight wrapper around SQLiteOpenHelper and ContentResolver which introduces reactive stream semantics to queries.
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.
Field and method binding for Android views which uses annotation processing to generate boilerplate code for you.
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.
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.
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.
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.
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.
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.
Tape is a non fast, transactional, file based FIFO. For Android and Java platforms.
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.
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.
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.
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.
RxJava binding APIs for Android UI widgets from the platform and support libraries.
Agera is a set of classes and interfaces to help write functional, asynchronous, and reactive applications for Android.
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
Annotation-triggered method call logging for your debug builds.
This is a logger with a small, extensible API which provides utility on top of Android's normal Log class.
Tasty mocking framework for unit tests in Java
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.
Robolectric is a testing framework that de-fangs the Android SDK so you can test-drive the development of your Android app.
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.
A memory leak detection library for Android and Java.
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.
At this point, the end, if there are any mistakes or questions, welcome to reply, I will reply as soon as I see it.