Introduction to six recommended Open source Android (Android) frameworks

Source: Internet
Author: User

1, Volley

Project Address Https://github.com/smanikandan14/Volley-demo
(1) Asynchronous download of JSON, image, etc.;
(2) Ordering of network requests (scheduling)
(3) Priority processing of network requests
(4) Cache
(5) Multi-level cancellation request
(6) Linkage with activity and life cycle (simultaneous cancellation of all network requests at end of activity)

2, Android-async-http

Project Address: Https://github.com/loopj/android-async-http
Document Description: http://loopj.com/android-async-http/
(1) Processing request results in an anonymous callback
(2) Making HTTP requests outside the UI thread
(3) File breakpoint upload
(4) Smart retry
(5) Default gzip compression
(6) Support parsing into JSON format
(7) Cookies can be persisted to sharedpreferences

3, afinal framework

Project address: Https://github.com/yangfuhai/afinal
There are four main modules:
(1) Database module: An ORM framework in Android that uses a thread pool to manipulate SQLite. The
(2) Annotation module: The IOC framework in Android, which allows for UI binding and event binding in a fully annotated manner. No need for Findviewbyid and Setclicklistener.
(3) Network module: Encapsulates HTTP data requests through HttpClient, supports Ajax loading, and supports downloading and uploading file functions.
(4) Picture cache module: When loading bitmap through Finalbitmap,imageview, there is no need to consider the phenomenon of image dislocation when the Oom and Android containers appear during the bitmap loading process. The
Finalbitmap can configure the number of thread preempted threads, cache size, cache path, load display animation, and so on. Finalbitmap memory management uses the LRU algorithm,
does not use weak references (android2.3 after Google has not recommended weak references, after android2.3 forcibly reclaim soft and weak references, detailed view of the Android Official document),
Better management of bitmap memory. Finalbitmap can customize the downloader to extend other protocols to display network pictures, such as FTP. You can also customize the bitmap display,
play the animation when ImageView display the picture (the default is the gradient animation display).

4, xutils framework

Project address: Https://github.com/wyouflf/xUtils
There are four main modules:
(1) Database module: The ORM Framework in Android, a line of code can be modified to check;
Support transactions, default off;
You can customize table names, column names, foreign keys, uniqueness constraints, and NOT NULL constraints through annotations. CHECK constraints (Please note the table name and column name when confusing);
supports foreign key binding, saves or updates foreign key associated entities when entities are saved, automatically loads foreign key associated entities, supports deferred loading, and
supports chained expression queries, more intuitive query semantics, Refer to the following introduction or example in Sample.
(2) Annotation module: The IOC framework in Android, the full annotation can be UI, resource and event binding,
The new event binding method, using obfuscation tool is confused and still works;
currently supports 20 commonly used event bindings, See Viewcommoneventlistener class and package com.lidroid.xutils.view.annotation.event.
(3) network module: Support synchronous, asynchronous request;
Support large file upload, upload large files will not oom;
Support Get,post,put,move,copy,delete,head,options,trace, Connect request;
Download supports 301/302 redirection, supports setting whether to rename downloaded files according to Content-disposition;
requests that return text content (by default only get requests are enabled) support caching. You can set the default expiration time and the expiration time for the current request.
(4) Picture cache module: When loading bitmap, there is no need to consider the phenomenon of image dislocation when Oom and Android containers are bitmap during the loading process;
supports loading network pictures and local images;
Memory management uses the LRU algorithm, Better management of bitmap memory;
Configurable line preempted thread count, cache size, cache path, load display animation, etc...

5, thinkandroid

Project address: Https://github.com/white-cat/ThinkAndroid
There are mainly the following modules:
(1) MVC module: Implements the separation of views from the model. The
(2) IOC module: The IOC module in Android, fully annotated to enable UI binding, reading of resources in Res, and initialization of objects.
(3) database module: An ORM framework in Android that uses a thread pool to manipulate SQLite.
(4) HTTP module: Encapsulates HTTP data requests via HttpClient and supports asynchronous and synchronous loading.
(5) Cache module: With simple configuration and design can be well implemented cache, the cache can be configured arbitrarily
(6) Picture Cache module: ImageView loading pictures without taking into account the image during the loading process of oom and the Android container rapid sliding when the picture dislocation phenomenon.
(7) Configurator module: can be easily implemented pairing configuration, the current configuration file can support preference, the properties of the configuration to access.
(8) Log printing module: Can be faster and easy to achieve log printing, support for the expansion of log printing, currently supports writing to SDcard local printing, as well as console printing
(9) Downloader module: can be easily implemented multi-threaded download, background download, breakpoint resume, control the download, such as start, pause, delete and so on.
(10) Network status Detection module: When the network status changes, check it

6, Loonandroid

Project Address: Https://github.com/gdpancheng/LoonAndroid
The main modules are:
(1) Auto-inject frame (only need to inherit the application within the frame)
(2) Picture loading frame (multi-cache, automatic recovery, maximum memory security)
(3) Network request module (inherits basically all HTTP requests now)
(4) Eventbus (integration of an open source framework)
(5) Validation Framework (integrated open source framework)
(6) JSON parsing (supports parsing into collections or objects)
(7) database (I don't know who wrote it and forgot it)
(8) Multi-threaded breakpoint Download (automatically determine whether to support multi-threading, to determine whether it is redirected)
(9) Automatic Update module
(10) A series of tool classes

One of the volley, 13 has been studied, extensibility is very good, personal more like the style. Other such as Android-async-http, afinal is also quite good.

Introduction to six recommended Open source Android (Android) frameworks

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.