Six recommended open-source Android frameworks

Source: Internet
Author: User

Six recommended open-source Android frameworks

There are no more technologies. It is enough to know some common and good ones. The following is the recently compiled Android open-source framework with relatively high "cost-effectiveness", which should be relatively practical.

1. volley

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

  • Asynchronous download of JSON and images;
  • Scheduling)
  • Priority processing of network requests
  • Cache
  • Multi-level cancellation request
  • Interaction with Activity and lifecycle (canceling all network requests at the end of Activity)
2. android-async-http

Project address: Workshop/

  • Process request results in anonymous callback
  • Http requests outside the UI thread
  • File resumable upload
  • Smart retry
  • Default gzip Compression
  • Json format
  • Cookies can be persisted to SharedPreferences.
3. Afinal framework

Project address: https://github.com/yangfuhai/afinal

There are four main modules:

  • Database module: The orm framework in Android, which uses a thread pool to operate sqlite.
  • Annotation module: ioc framework in Android. UI binding and event binding can be performed in full annotation mode. No need for findViewById and setClickListener.
  • Network Module: Uses httpclient to encapsulate http data requests. It supports Ajax loading and file download and upload.
  • 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 and does not use weak references. (In the future, Google does not recommend weak references. In the future, Android2.3 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 topics:

Database module:

  • The orm framework in Android allows you to add, delete, modify, and query 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.

Annotation module:

  • The ioc framework in Android can be fully annotated for UI, resource and event binding;
  • The new event binding method can still work normally after obfuscation using obfuscation tools;
  • Currently, You can bind 20 Common events. For details, see View Common Event Listener class and package com. lidroid. xutils. view. annotation. event.

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.

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.
5. ThinkAndroid

Project address: https://github.com/white-cat/ThinkAndroid

The main modules are as follows:

  • MVC module: separates views from models.
  • Ioc module: The ioc module in Android, which can be fully annotated to perform UI binding, read resources in res, and initialize objects.
  • Database module: The orm framework in Android, which uses a thread pool to operate sqlite.
  • Http module: Uses httpclient to encapsulate http data requests and supports asynchronous and synchronous loading.
  • Cache module: cache can be well implemented through simple configuration and design, and cache can be freely configured
  • Image cache module: when loading images in imageview, you do not need to consider the oom and Android container image misplacement during image loading.
  • Configurator module: You can perform simple pairing configuration operations. Currently, the configuration file supports Preference and Properties for configuration access.
  • Log printing module: This module allows you to print logs quickly and easily. It supports log printing extension. Currently, it supports writing sdcard to local printing and console printing.
  • Download Device Module: You can easily implement multi-threaded download, background download, resumable download, download control, such as start, pause, and delete.
  • Network status detection module: Checks network status changes.
6. LoonAndroid

Project address: https://github.com/gdpancheng/LoonAndroid

The main modules are as follows:

  • Automatic injection framework (only apps in the framework can be inherited)
  • Image loading framework (multiple caches, automatic recovery, maximum Memory Security)
  • Network request module (inherits basically all current http requests)
  • Eventbus (integrated with an open-source framework)
  • Verification Framework (integrated with open-source framework)
  • Json parsing (supports parsing to a set or object)
  • Database (I don't know who wrote it and forgot it)
  • Multi-thread breakpoint download (automatically determines whether multithreading is supported and whether redirection is supported)
  • Automatic update Module
  • A series of tools

Among them, Volley has been studied in 2013 and has excellent scalability and preferred style. Others such as Android-async-http and Afinal are also quite good.

Related Article

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.