Six recommended open-source frameworks for android (android) and android

Source: Internet
Author: User

Introduction to six recommended open-source frameworks for android (android) and android

1. volley

Project address https://github.com/smanikandan14/Volley-demo

(1) asynchronous download of JSON and images;
(2) Sort network requests (scheduling)
(3) priority processing of network requests
(4) Cache
(5) Multi-Level cancellation request
(6) Interaction with Activity and lifecycle (canceling all network requests at the end of Activity)
2. android-async-http

Project address: https://github.com/loopj/android-async-http
Introduction: http://loopj.com/android-async-http/
(1) process request results in anonymous callback
(2) http requests outside the UI thread
(3) file resumable upload
(4) Smart retry
(5) default gzip Compression
(6) Support parsing to 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: The orm framework in android uses a thread pool to operate sqlite.
(2) annotation module: The ioc framework in android can be bound to the UI and events in full annotation mode. No need for findViewById and setClickListener.
(3) Network Module: encapsulates http data requests through httpclient, supports ajax loading, and supports file download and upload.
(4) image cache module: when using FinalBitmap and imageview to load bitmap, you do not need to consider the oom and android container image dislocation during the bitmap loading process.
FinalBitmap can be used to configure the number of threads loaded, cache size, cache path, and display animation. The memory management of FinalBitmap uses the lru algorithm,
No weak references are used. (google does not recommend weak references since android2.3. After android2.3, it forcibly recycles soft references and weak references. For details, see the official android documentation ),
Better management of bitmap memory. FinalBitmap can be used to customize the download tool to expand other protocols to display network images, such as ftp. You can also customize the bitmap display,
Play an animation when displaying an image in imageview (gradient animation by default ).
4. xUtils framework

Project address: https://github.com/wyouflf/xUtils
There are four main modules:
(1) database module: The orm framework in android, which can be added, deleted, modified, and queried with a line of code;
Supports transactions, which are disabled by default;
You can use annotations to customize table names, column names, foreign keys, uniqueness constraints, not null constraints, and CHECK constraints. (note the table names and column names when obfuscation is required );
Supports binding foreign keys. when an object is saved, the foreign key associated with the object is automatically saved or updated;
Automatically attach external key associated entities, supporting delayed loading;
Supports chained expression query and more intuitive query semantics. For more information, see the following introduction or examples in the sample.
(2) annotation module: The ioc framework in android can be fully annotated to bind the UI, resources, and events;
The new event binding method can still work normally after obfuscation using obfuscation tools;
Currently, You can bind 20 common events. For more information, see the ViewCommonEventListener class and package com. lidroid. xutils. view. annotation. event.
(3) Network Module: supports synchronous and asynchronous requests;
Supports uploading large files, so uploading large files does not involve oom;
Supports GET, POST, PUT, MOVE, COPY, DELETE, HEAD, OPTIONS, TRACE, and CONNECT requests;
Downloading supports 301/302 redirection and allows you to set whether to rename the downloaded file based on Content-Disposition;
Requests that return text content (only GET requests are enabled by default) Support caching. You can set the default expiration time and the expiration time for the current request.
(4) image cache module: when loading bitmap, you do not need to consider the oom and android container image dislocation during the bitmap loading process;
Supports loading network images and local images;
Memory Management uses the lru algorithm to better manage bitmap memory;
You can configure the number of threads to load, cache size, cache path, and display animation loading...

5. ThinkAndroid

Project address: https://github.com/white-cat/ThinkAndroid
The main modules are as follows:
(1) MVC module: separates views from models.
(2) ioc module: The ioc module in android can be fully annotated to perform UI binding, read resources in res, and initialize objects.
(3) database module: The orm framework in android uses a thread pool to operate sqlite.
(4) http module: Uses httpclient to encapsulate http data requests and supports asynchronous and synchronous loading.
(5) cache module: cache can be well implemented through simple configuration and design, and cache can be freely configured
(6) image cache module: when loading images in imageview, you do not need to consider the out-of-stock image and android container during image loading.
(7) configurator module: You can perform simple pairing configuration operations. Currently, the configuration file supports Preference and Properties for configuration access.
(8) log printing module: it can easily print logs quickly and easily. It supports log printing extensions. Currently, it supports writing sdcard locally and printing it on the console.
(9) download Device Module: it can easily implement multi-threaded download, background download, resumable download, and download control, such as start, pause, and delete.
(10) network status detection module: Checks network status changes

6. LoonAndroid

Project address: https://github.com/gdpancheng/LoonAndroid
The main modules are as follows:
(1) Automatic injection framework (only applications within the framework can be inherited)
(2) image loading framework (Multi-cache, automatic recovery to maximize Memory Security)
(3) network request module (inheriting basically all current http requests)
(4) eventbus (integrated with an open-source framework)
(5) Verification Framework (integrated open-source framework)
(6) json parsing (supports parsing to a set or object)
(7) database (I don't know which one has forgotten it)
(8) multi-thread breakpoint download (automatically determines whether multithreading is supported and whether redirection is supported)
(9) automatic update Module
(10) A series of tools

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.