First, the 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.
(2) Note module: The IOC framework in Android, which can be used for UI binding and event binding in a fully annotated manner. No need for Findviewbyid and Setclicklistener.
(3) Network module: encapsulation HTTP data request through HttpClient, support Ajax mode loading, support downloading and uploading file function.
(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.
Finalbitmap can configure the number of thread preempted threads, cache size, cache path, load display animation, etc. Finalbitmap's memory management uses the LRU algorithm,
Not using weak references (after android2.3, Google has not recommended the use of weak references, android2.3 after the forced recovery of soft and weak references, details of the official Android 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 animations when ImageView display pictures (the default is the gradient animation display).
Second, 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 used to increase the deletion of the search;
Support transactions, closed by default;
Annotations can be used to customize table names, column names, foreign keys, uniqueness constraints, NOT NULL constraints, check constraints, etc. (Please note the table and column names when confusion is required);
Support for binding foreign keys, saving entities when the foreign key associated entities are automatically saved or updated;
Automatic loading of foreign key associated entities, support delay loading;
Support chain expression query, more intuitive query semantics, refer to the following introduction or sample examples.
(2) Note module: The IOC framework in Android, full annotation can be UI, resource and event binding;
New event binding mode, the use of obfuscation tools can still work properly;
Currently supports 20 commonly used event bindings, see Viewcommoneventlistener Class and package com.lidroid.xutils.view.annotation.event.
(3) Network module: Support synchronous, asynchronous way of request;
Support large file upload, upload large files will not oom;
Support Get,post,put,move,copy,delete,head,options,trace,connect request;
Download support 301/302 Redirect, support setting whether to rename downloaded files according to Content-disposition;
A request to return text content (by default, only get requests enabled) supports caching, setting the default expiration time and the expiration time for the current request.
(4) Picture cache module: When loading the bitmap, there is no need to consider the phenomenon of the image dislocation when the Oom and the Android container move quickly during the bitmap loading process.
Support to load network pictures and local images;
The memory management uses the LRU algorithm, better manages the bitmap memory;
Configurable line preempted thread count, cache size, cache path, load display animation, etc...
Third, thinkandroid project address: https://github.com/white-cat/ThinkAndroid
The main modules are:
(1) MVC module: Implementing the separation of views from the model.
(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: Through simple configuration and design can be very good cache, the cache can be arbitrarily configured
(6) Image 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 and other phenomena.
(7) Configurator module: can be easy to implement pairing configuration operation, 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 sdcard write local printing, and console printing
(9) Download module: Can be easily implemented multi-threaded download, background download, breakpoint continuation, download control, such as Start, pause, delete and so on.
(10) Network status Detection module: When the network status changes, it is checked
Features: Thinkandroid is a free open source, easy to follow the Apache2 open source agreement released Android Development Framework, its development is simple, rapid development of Android applications, including Android MVC, simple SQLite orm , IOC module, encapsulated Android httpclitent HTTP module, with the fast build file cache function, regardless of the format of the cache file, can be very easy to implement the cache, it also based on the file cache module implementation of the picture cache function, in the Android loaded images , the problem of oom, and the loading picture dislocation of the problem are easy to solve. He also includes tools such as log management, profile management, Android Downloader modules, network switch detection, and more, which are often used in mobile phone development.
Advantages: The function looks more perfect.
Cons: This is written by White-cat, who has stopped maintenance since 2013 and has no project documentation.
Iv. 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
Five. Ultimateandroid Project address: https://github.com/cymcsg/UltimateAndroid
Main functions:
Ultimateandroidis a set of integrated with many existing excellentAndroidOpen source class library and synthesize the group into a wholeandroid rapid development framework. The framework currently mainly includes the functions of view injection,orm, asynchronous network request and picture loading, automated script testing , disk lru. Also available are similar to tripledeswebview Quick setup, md5 processing, string processing ,https processing and other commonly used tools, there are a variety of ui control effects. And these functions are gradually increasing. This set of tutorials is mainly about ultimateandroid framework using , At the same time, a project is used as an example to illustrate how to better use ultimateandroidandroid fast-Developing tutorials
1. Deploy the ultimateandroid framework (Eclipse and androidstudio editions )
2, import Demoofui, achieve a variety of UI effects
3, Routine: project Introduction and initialization
4, Start effect processing
5. Database structure Processing
Main modules:
1. Framework core modules include view injection,ORM, asynchronous Http and image requests, and so on.
2.UltimateAndroid uses a number of excellent open source frameworks
3. The current project structure is not yet Gradleand may be used at some time in the future
The core open source class libraries currently in use are:
1. View injection Butter knife
2. Asynchronous Network request asynchronous Http Client for Android.
3. Asynchronous picture loading Universal image Loader for Android
4.ORM One:greendao
5.ORM Two:activeandroid
Six. Androidannotations Project address: http://androidannotations.org/Project address: https://github.com/excilys/androidannotations
Function: Fully annotated frame, all annotations: Declaration control, bound control, set listener, Setcontentview, long press event, asynchronous thread, all implemented by annotations.
Pros: Full annotations make it easier to develop and programmers write less code.
Disadvantage: The document is full English plus less functional without specific research, because all are annotations, feeling inefficient, but according to the official introduction said is not the use of reflection loading, so efficiency is much higher than the general annotation. Seven. Kjframeforandroid Project address: https://github.com/kymjs/KJFrameForAndroid
Features: An ORM and IOC framework for Android. It also encapsulates the framework of bitmap and HTTP operations in Android, making it easier to use; The Kjframeforandroid development framework is designed to simplify Android application-level development by encapsulating complex, complex operations in the Android native SDK. The result is a fast and secure development app. The total is divided into five modules: Uilibrary,utilslibrary,httplibrary,bitmaplibrary,dblibrary.
Advantages: More comprehensive functions, code efficiency is very high, the document is perfect, there are project demo, draw on a lot of large-scale framework experience.
Cons: The activity part of the framework is the lowest, the project communication platform not many people speak (is the great God does not speak?) )
Kjframeforandroid, also known as Kjlibrary, is an ORM and IOC framework for Android. It also encapsulates the framework of bitmap and HTTP operations in Android, making it easier to use;
Kjframeforandroid's design philosophy is to simplify Android application-level development by encapsulating complex and complex operations in the Android native SDK, enabling fast and secure development of apps. We advocate the least amount of code to complete the most operations, with the highest efficiency, to complete the most complex functions.
At the same time, Kjframeforandroid is a free, open-source, easy-to-use Android application Development framework that complies with the Apache Licence 2.0 Open Source protocol, which is divided into five main modules: Uilibrary,utilslibrary, Httplibrary,bitmaplibrary,dblibrary.
Eight. Androidcommon
GitHub Address: Https://github.com/Trinea/AndroidCommonDemo Address: https://play.google.com/store/apps/details?id= Cn.trinea.android.demo Documentation: http://www.trinea.cn/android/android-common-lib/contains a set of libraries commonly used to develop Android programs, including Imagecache, Dropdownlistview, Downloadmanager and silent install APK and so on. Function module: 1. Cache (picture cache, prefetch cache, network cache) 2. public view (dropdown and bottom load more listview, bottom load more scrollview, slide one page gallery) 3. Android Common tools Class (network, download, Android resource operation, Shell, file, Json, random number, collection, etc.)
Pros: Collection of common tool classes for Android projects nine. Andbase
Project Address: https://github.com/zhaoqp2010/andbase/
Project Address: http://www.amsoft.cn/andbase.html
The 1.andbase contains a large number of common tools for development.
such as network download, multi-threading and thread pool management, database ORM, image cache management, image file download upload, HTTP request tool, SOAP tool class, asynchronous task, Common tools Class (string, date, file processing, image processing tool class, etc.), Can make your application in team development to reduce redundant code, greatly improve the maintenance of code and development efficiency, can be good to avoid the development negligence caused by common mistakes.
The 2.andbase encapsulates a large number of commonly used controls.
such as list paging, grid paging, dropdown refresh, Progress box, picture Carousel, table, multi-threaded downloader, sidebar, image upload, wheel selection, chart, tab swipe, calendar selector, etc.
3. Powerful abactivity, you have no reason not to inherit it.
Inherit it you can get a simple and powerful set of action Bar, as well as a series of simple calls, such as popup box, prompt box, progress box, Deputy action Bar and so on.
4. Provide more efficient image cache management strategy, so that memory is greatly saved, utilization rate increases, efficiency increases.
The program to manage a large number of image resources, Andbase provides a simple method, a few steps to complete the download and display, and support scaling, cropping, caching features, oom is not there.
5. Encapsulates a large number of common tool classes.
including date, character, file, picture, math, view universal Adaptation tool class and other processing functions, many and all.
6. Using Andbase to reduce the use of handler a lot, and using a callback function, the code is cleaner.
Handler will generate a lot of code, and not good maintenance, andbase to handler encapsulation, you will find that andbase Basic code will not have a large number of handler judgment statement.
7. Simple and lightweight ORM framework (supports one/many-to-many association operations) for annotating automatic table-building.
Write SQL, build the table, the workload is big, andbase provide more fool asynchronous adding and Deleting tool class, database in the internal card and external card can be.
8. Asynchronous request HTTP framework, network request standardization, support file upload download, get,post, progress display.
A tool class that contains asynchronous and HTTP requests, a SOAP request Tool class, is simple and practical.
Fast development framework commonly used by Android