Recommended android development framework

Source: Internet
Author: User
Tags vector font

Recommended android development framework

All android development frameworks are classic and open-source, providing excellent learning materials.

First: Afinal

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

Function: An android ioc and orm framework with four built-in functions: FinalAcitivity, FinalBitmap, FinalDb, and FinalHttp. Through finalActivity, We can bind the ui and events through annotations. Through finalBitmap, we can easily load bitmap images without having to consider problems such as oom. Through the finalDB module, we can add, delete, modify, and query android sqlite databases with a line of code. Through the FinalHttp module, we can request http data in the form of ajax.

Advantages: comprehensive functions, comprehensive documentation, and high code efficiency.

Disadvantages: there is no project demo, the framework takes a long time, and the code is redundant (which is unavoidable). The document is too old to keep up with the Code Update Progress.


Second: KJFrameForAndroid framework

Project address: https://github.com/kymjs/KJFrameForAndroid

Function: An android orm and ioc framework. It also encapsulates the framework of Bitmap and Http operations in android to make it easier to use; the KJFrameForAndroid development framework is designed to simplify Android application-level development by encapsulating complex operations in the Android native SDK, and ultimately achieve fast and secure APP development. There are five modules in total: UILibrary, UtilsLibrary, HttpLibrary, BitmapLibrary, and DBLibrary.

Advantage: It has comprehensive functions, high code efficiency, complete documentation, and a project demo. It is a little late to learn from many large framework experiences.

Disadvantage: the project document is an html page, which is inconvenient to view. There are not many people talking on the project communication platform (do you think the project is not talking ?)


Third: ThinkAndroid

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

Function: Contains Android mvc, simple sqlite orm, ioc module, and http module that encapsulates Android httpclitent. It has the ability to quickly build File Cache without considering the format of cached files, you can easily implement the cache. It also implements the image cache function based on the File Cache module. When loading images in android, and easily solve the problem of image misplacement. He also includes a practical tool that is frequently used in mobile phone development, such as log management, configuration file management, android download device module, network switching detection, and so on.

Advantage: The function looks perfect.

Disadvantages:This is written by a person,Maintenance has been stopped since 2013, and no project documentation is available.


Fourth: AndroidAnnotations

Project address: https://github.com/excilys/androidannotations

Function: fully annotated framework, all of which are Annotations: declare controls, bind controls, set listening, setcontentview, long-pressed events, asynchronous threads, all implemented through annotations.

Advantage: complete annotations make development more convenient, and fewer code is written by programmers.

Disadvantages: The document is in full English and has fewer functions than specific research. Because everything is annotated, it feels inefficient. However, according to the official introduction, reflection loading is not used, therefore, the efficiency is much higher than that of general annotations.


Fifth: volley

Project address: Workshop
Advantage: for Google official recommendations, please refer to the introduction at last year's developer conference. Disadvantage: fewer functions, only network data loading and network image loading


What are the android development frameworks?

The android Application Development Framework consists of five parts: Linux Kernel, Android Runtime, Libraries, Application Framework, and Applications. The second part will detail these five parts. The bottom-up analysis layers are as follows.

Android Architecture

1. Linux Kernel

Android provides core system services based on Linux 2.6, such as security, memory management, process management, network stack, and driver model. Linux Kernel is also an abstraction layer between hardware and software. It hides specific hardware details and provides unified services for the upper layer. If you have learned computer networks and know OSI/RM, you will know that the benefit of layering is to use the services provided by the lower layer to provide unified services for the upper layer, shielding the differences between the current layer and the following layers, when the current layer and the following layers change, the upper layer is not affected. That is to say, each layer performs its own duties, and each layer provides a fixed SAP (Service Access Point). The professional points can be said to be high cohesion and low coupling. If you are only engaged in application development, you do not need to have a deep understanding of the Linux Kernel layer.

2. Android Runtime

Android contains a collection of core libraries, providing most of the functions available in the core library of Java programming language. Every Android application is an instance in the Dalvik Virtual Machine and runs in its own process. The Dalvik virtual machine is designed to efficiently run multiple virtual machines on one device. The Dalvik Virtual Machine executable file format is. dex. dex is a compression format designed for Dalvik, suitable for systems with limited memory and processor speed. Most virtual machines, including JVM, are stack-based, while Dalvik virtual machines are register-based. The two architectures have their own advantages and disadvantages. Generally, the stack-based machine requires more commands, while the register-based machine requires more commands. Dx is a set of tools that can convert Java. class to. dex format. A dex file usually has multiple. classes. Because dex sometimes has to be optimized, it will increase the file size by 1 to 4 times and end with ODEX. The Dalvik Virtual Machine relies on the Linux kernel to provide basic functions, such as thread and underlying memory management.

3. Libraries

Android contains a collection of C/C ++ libraries for various components of the Android system. These functions are exposed to developers through the Android application framework. The following lists some core libraries: system C library-the BSD derivative of the Standard C system library (libc), adjusted to the embedded Linux device media library-The PacketVideo-based OpenCORE. These libraries support playing and recording many popular audio and video formats, as well as static image files, including MPEG4 and H. 264. Manage MP3, AAC, AMR, JPG, and PNG interfaces-manage the access display subsystem and seamlessly combine the 2D and 3D graphics layers LibWebCore of multiple applications-a new Web browser engine, driver Android browser and Embedded web View SGL-Basic 2D graphics engine 3D library-Based on OpenGL ES 1.0 APIs implementation. Libraries use hardware 3D acceleration or include highly optimized 3D software grating FreeType -- bitmap and vector font rendering SQLite -- powerful and lightweight relational database engines available for all applications

4. Application Framework

By providing an open development platform, Android enables developers to develop extremely rich and novel applications. Developers can freely take advantage of the hardware advantages of devices, access location information, run background services, Set alarms, and add notifications to the status bar. Developers can fully use the APIs framework used by core applications. The architecture of the application is designed to simplify the group... the remaining full text>

Android development framework

Google's gson package can be used for json parsing.
The Network request and cache mechanism (generally referred to as image cache) can be viewed by volley.
The database is relatively simple. The android app is already encapsulated. But you can check FinalDb in Afinal.
The UI is useless. It is written by yourself. You can master the view and viewgroup. Basically, you can master all the controls.

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.