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.
Public Account:JANiubility