Top Open Source Android Libraries of 2016

Top Open Source Android Libraries of 2016

Related Articles:

Comprehensive List of Popular Android Frameworks

Essential Android Interview Questions You Must Know for 2017

Awesome! 74 Complete APP Source Codes!

1. Dependency Injection (DI)

Reduce repetitive initialization, event binding, and other tedious work through dependency injection.

1. AndroidAnnotations (Code Diet) Fast Development Framework for Android

Project link: https://github.com/excilys/androidannotations

Documentation: https://github.com/excilys/androidannotations/wiki

Official website: http://androidannotations.org/

Features: (1) Dependency injection: including view, extras, system services, resources, etc.

(2) Simple thread model, indicating whether the method runs on the UI thread or in the background through annotations.

(3) Event binding: indicates the response event of the view through annotations, no need to write inner classes.

(4) REST client: define client interfaces, automatically generate implementations of REST requests.

(5) Not as complicated as you think: AndroidAnnotations only generates corresponding subclasses at compile time.

(6) Does not affect application performance: only 50kb, completed at compile time, will not affect runtime performance.

PS: Comparison with roboguice: roboguice reads annotations at runtime using reflection, which may affect application performance, while AndroidAnnotations generates subclasses at compile time, so it does not affect performance.

2. Roboguice helps you handle many code exceptions, using annotations to complete projects with less code.

Project link: https://github.com/roboguice/roboguice

Documentation: https://github.com/roboguice/roboguice/wiki

3. ButterKnife uses annotations to help you quickly complete View initialization, reducing code.

Project link: https://github.com/JakeWharton/butterknife

Documentation: http://jakewharton.github.io/butterknife/

4. Dagger Dependency Injection, suitable for Android and Java.

Project link: https://github.com/square/dagger

Documentation: http://square.github.io/dagger/

2. Image Caching

1. Android-Universal-Image-Loader Image Caching

The most widely used image caching library, supports most features of mainstream image caching.

Project link: https://github.com/nostra13/Android-Universal-Image-Loader

Demo link: https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true

Documentation: http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html

2. Picasso Square’s open-source image caching library.

Project link: https://github.com/square/picasso

Documentation: http://square.github.io/picasso/

Features: (1) Automatically detects adapter reuse and cancels previous downloads.

(2) Image transformations.

(3) Can load local resources.

(4) Can set placeholder resources.

(5) Supports debug mode.

3. ImageCache Image caching, includes memory and SD card caching.

Project link: https://github.com/Trinea/AndroidCommon

Demo link: https://github.com/Trinea/TrineaDownload/blob/master/TrineaAndroidDemo.apk?raw=true

Documentation: http://www.trinea.cn/?p=704

Features: (1) Supports pre-fetching new images, supports wait queue.

(2) Includes secondary cache, customizable filename saving rules.

(3) Supports multiple caching algorithms (FIFO, LIFO, LRU, MRU, LFU, MFU, etc.) or custom caching algorithms.

(4) Convenient to save and initialize restore data.

(5) Supports different types of network processing.

(6) Can initialize cache based on system configuration.

3. Network Related

1. Asynchronous Http Client for Android Asynchronous Http Requests

Project link: https://github.com/loopj/android-async-http

Documentation: http://loopj.com/android-async-http/

Features: (1) Handles request results in anonymous callbacks.

(2) Performs http requests outside the UI thread.

(3) File breakpoint upload.

(4) Intelligent retry.

(5) Default gzip compression.

(6) Supports parsing into Json format.

(7) Can persist Cookies to SharedPreferences.

2. Android-Query Asynchronous loading, less code to complete Android loading.

Project link: https://github.com/androidquery/androidquery or https://code.google.com/p/android-query/

Documentation: https://code.google.com/p/android-query/#Why_AQuery?

Demo link: https://play.google.com/store/apps/details?id=com.androidquery

Features: https://code.google.com/p/android-query/#Why_AQuery?

3. Async Http Client Java Asynchronous Http Requests

Project link: https://github.com/AsyncHttpClient/async-http-client

Documentation: http://sonatype.github.io/async-http-client/

4. Ion Supports asynchronous requests for images, json, http post, etc.

Project link: https://github.com/koush/ion

Documentation: https://github.com/koush/ion#more-examples

5. HttpCache Http Caching

Project link: https://github.com/Trinea/AndroidCommon

Demo link: https://github.com/Trinea/TrineaDownload/blob/master/TrineaAndroidDemo.apk?raw=true

Demo code: https://github.com/Trinea/AndroidDemo/blob/master/src/cn/trinea/android/demo/HttpCacheDemo.java

Features: (1) Cache http requests based on cache-control, expires.

(2) Supports synchronous and asynchronous Http requests.

(3) Handles request results in anonymous callbacks.

(4) Performs http requests outside the UI thread.

(5) Default gzip compression.

6. Http Request

Project link: https://github.com/kevinsawicki/http-request

Documentation: https://github.com/kevinsawicki/http-request#examples

7. OkHttp Square’s open-source HTTP utility class.

Project link: https://github.com/square/okhttp

Documentation: http://square.github.io/okhttp/

Features: (1) Supports SPDY protocol. SPDY is an application layer protocol developed by Google based on the transmission control protocol, which reduces loading time through compression, multiplexing (transmitting web pages and images through a single TCP connection), and prioritization.

(2) If SPDY is unavailable, uses connection pooling to reduce request latency.

(3) Gzip compression.

(4) Response caching reduces unnecessary requests.

8. Retrofit RESTFUL API Design

Project link: https://github.com/square/retrofit

Documentation: http://square.github.io/retrofit/

4. Database ORM Toolkit

ORM database utility class simplifies operations such as creating tables, querying, updating, inserting, transactions, and indexing.

1. greenDAO Android SQLite ORM database utility class

Project link: https://github.com/greenrobot/greenDAO

Documentation: http://greendao-orm.com/documentation/

Official website: http://greendao-orm.com/

Features: (1) Excellent performance.

(2) Simple and easy-to-use API.

(3) Small memory footprint.

(4) Small library size.

2. ActiveAndroid Android SQLite ORM database utility class

Project link: https://github.com/pardom/ActiveAndroid

Documentation: https://github.com/pardom/ActiveAndroid/wiki/_pages

3. Sprinkles Android SQLite ORM database utility class

Project link: https://github.com/emilsjolander/sprinkles

Documentation: http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/

Features: A notable feature is that it can save data obtained from the server when used in conjunction with Retrofit.

5. Common Android Libraries

1. Guava Google’s extended project of Java 1.6 library collection

Includes collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, etc. These high-quality APIs can make your Java code more elegant and concise.

Project link: https://code.google.com/p/guava-libraries/

Documentation: https://code.google.com/p/guava-libraries/wiki/GuavaExplained

2. AndroidCommon Common Android Library

Project link: https://github.com/Trinea/AndroidCommon

Demo link: https://github.com/Trinea/TrineaDownload/blob/master/TrineaAndroidDemo.apk?raw=true

Documentation: http://www.trinea.cn/?p=778

Includes: (1) Caching (image caching, pre-fetching cache, network cache).

(2) Common Views (pull-down and bottom loading more ListView, bottom loading more ScrollView, swipe Gallery).

(3) Common Android utility classes (network, download, Android resource operations, shell, file, Json, random number, Collection, etc.).

6. Android Compatibility Between High and Low Versions

1. ActionBarSherlock Provides a unified ActionBar for all Android versions, solves compatibility issues for ActionBar below 4.0.

Project link: https://github.com/JakeWharton/ActionBarSherlock

Demo link: https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos

APP example: Many… even Google is using it now.

2. Nine Old Androids Makes all animation APIs (ObjectAnimator, ValueAnimator, etc.) from Android 3.0 (Honeycomb) compatible with Android 1.0.

Project link: https://github.com/JakeWharton/NineOldAndroids

Demo link: https://play.google.com/store/apps/details?id=com.jakewharton.nineoldandroids.sample

Documentation: http://nineoldandroids.com/

3. HoloEverywhere Makes the Holo theme from Android 3.0 compatible with Android 2.1++.

Project link: https://github.com/Prototik/HoloEverywhere

Demo link: https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk

Documentation: http://android-developers.blogspot.com/2012/01/holo-everywhere.html

7. Multimedia Related

1. cocos2d-x Cross-platform 2D game framework, supports Android, iOS, Linux, Windows, and many other platforms.

Project link: https://github.com/cocos2d/cocos2d-x

Documentation: http://www.cocos2d-x.org/wiki

Official website: http://www.cocos2d-x.org/

2. Vitamio A versatile multimedia development framework for Android and iOS platforms.

Project link: https://github.com/yixia/VitamioBundle

Website introduction: http://www.vitamio.org/docs/

Features: (1) Fully supports hardware decoding and GPU rendering.

(2) Smooth playback of 720P even 1080P HD MKV, FLV, MP4, MOV, TS, RMVB, and other common video formats.

(3) Cross-platform support for MMS, RTSP, RTMP, HLS (m3u8), and other common streaming media protocols on Android and iOS, including video on demand and live streaming.

3. PhotoProcessing Uses NDK for image processing, supports Instafix, Ansel, Testino, XPro, Retro, BW, Sepia, Cyano, Georgia, Sahara, HDR, Rotate, Flip.

Project link: https://github.com/lightbox/PhotoProcessing

Demo link: https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=true

4. Android StackBlur Image blur effect utility class.

Project link: https://github.com/kikoso/android-stackblur

Demo link: https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true

Documentation: https://github.com/kikoso/android-stackblur#usage

8. Others

1. Salvage View A ViewPager with View caching, very convenient to use.

Project link: https://github.com/JakeWharton/salvage

2. Android-PasscodeLock Application lock, requires entering a four-digit password every time the application is started or started from any Activity.

Project link: https://github.com/wordpress-mobile/Android-PasscodeLock

Demo link: https://play.google.com/store/apps/details?id=com.sothree.umano

APP example: WordPress Android, Alipay, WeChat.

3. android-lockpattern Android pattern password unlock.

Project link: https://code.google.com/p/android-lockpattern/

Demo link: https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo

Usage introduction: https://code.google.com/p/android-lockpattern/wiki/QuickUse

Example APP: Android boot pattern password unlock, Alipay’s password unlock.

4. GlowPadBackport Extends the Android 4.2 lock screen unlock interface to Android 1.6 and above.

Project link: https://github.com/rock3r/GlowPadBackport

Demo link: https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample

Effect picture: https://lh6.ggpht.com/U070b6Lh6cVsVwx4jN-5nq0xqiB1PBzrYABPeJIEe2hZQ5UWOxc-FDUG77wADelToHA=h310-rw

5. GlowPadView Android 4 lock screen unlock interface.

Project link: https://github.com/nadavfima/GlowPadView

Effect picture: https://raw.github.com/nadavfima/GlowPadView/master/example.png

6. Android Priority Job Queue Android background task queue.

Project link: https://github.com/path/android-priority-jobqueue

Documentation: https://github.com/path/android-priority-jobqueue#getting-started

7. Jsoup A Java library for parsing HTML, can easily extract and manipulate data.

Project link: https://github.com/jhy/jsoup

Official website: http://jsoup.org/

Functions: (1) Obtain and parse HTML from a URL, file, or string.

(2) Use DOM traversal or CSS selectors to find and extract data.

(3) Manipulate HTML elements.

(4) Remove illegal data for submission based on a whitelist to prevent XSS attacks.

(5) Output tidy HTML.

8. ZIP Java compression and decompression library.

Project link: https://github.com/zeroturnaround/zt-zip

Documentation: https://github.com/zeroturnaround/zt-zip#examples

Functions: (1) Decompress and compress, supporting recursive operations within folders.

(2) Supports including and excluding certain elements.

(3) Supports renaming elements.

(4) Supports traversing zip package contents.

(5) Compares two zip packages and other functions.

9. Cobub Razor Open-source mobile behavior analysis system, including web, Android, and supports iOS and Windows Phone.

Project link: https://github.com/cobub/razor

Demo link: http://demo.cobub.com/razor

Website introduction: http://dev.cobub.com/

10. aFileChooser File chooser, can be embedded into the program without using the system or third-party file chooser.

Project link: https://github.com/iPaulPro/aFileChooser

11. Androidpn XMPP-based message push solution, including server-side and Android side.

Project link: https://github.com/dannytiehui/androidpn

12. Android Plugin Development

Project link: https://github.com/umeng/apf

From: http://www.trinea.cn/android/android-github-dev-lib/

About Java and Android Experts Channel

Java and Android Expert Channel is a public account with tens of thousands of followers discussing Java and Android development, sharing and original valuable articles to help you become an expert in this field!

We discuss the cutting-edge technologies in Android and Java development: Android performance optimization, pluginization, cross-platform, dynamicization, strengthening and anti-cracking, etc., as well as design patterns/software architecture. A team composed of engineers from BAT.

Follow us for a surprise, reply: “Baidu”, “Ali”, “Tencent” for surprises!!! After following, you can join the WeChat group. The group is full of experts from Baidu, Ali, and Tencent.

Welcome to follow us, let’s discuss technology together. Scan and long press the QR code below to quickly follow us. or search for the public account: JANiubility.

Top Open Source Android Libraries of 2016

Public Account:JANiubility

Leave a Comment