Android Application Framework and android framework

Source: Internet
Author: User

Android Application Framework and android framework
During Android software development, all Android applications developed by developers interact with the Android underlying layer through the application framework. Therefore, the most exposed part in development is the application framework. Integrate the application framework


There are four important components, which are described as follows.


Activities: A Activities indicates a display interface of a program. An application can contain multiple Activities components. Each Activities component has its own lifecycle.


Intent: when multiple applications need to jump to each other, it is completed through Intent. developers can also use Intent to call the applications provided by Android, such as making a call or sending a text message.


Service: it refers to the Activities programs that run in the background without interface display. Many services are built in Android for developers, such as sending notifications or sending SMS messages.


Content Provider: this component is used when data needs to be shared between different applications. For example, when a Activities program needs to access a contact, it can be called through the Content Provider component.


.
Generally, android development uses the system architecture layer?

Develop a program. The android system framework is layered and cannot be separated.

Application Layer:
This layer mainly refers to programs running on virtual machines written in java, at the beginning, Google bound some core applications in the android system (core applications must be written using the API framework at the application-layer ordering framework layer ), for example, in your android phone, you can use SMS to send short messages, address book, and so on.

Application Framework layer:
It refers to the API framework required for development. Developers call the framework and develop their own programs.

System Runtime Library layer:
It is used to support various components at the application framework layer. That is to say, when developers use the android Application Framework layer, the android system uses some C/C ++ libraries to support various components we use so that they can better serve developers.

Linux core layer:
Android core system services, such as security, memory management, process management, network protocol stack, and driver model, all depend on the Linux kernel. the Linux kernel is also used as the abstraction layer between hardware and software stacks.

Therefore, the program you develop runs at the application layer, and the package for writing code calls in the development is based on the application framework layer, the components in the application framework must be supported by the system Runtime Library. For example, to log on to the SQLite database, you must access the SQLite database. SQLite is located in the system Runtime Library, you need to enter information when logging on, and you must support the keyboard driver, and various drivers depend on the Linux kernel.

What language does Android program use?

I. Applications
Android is released together with a series of core application packages, including email clients, SMS Short Message programs, calendars, maps, browsers, and contact management programs. All applications are written in JAVA.

II. Application Framework
Developers can also fully access the API framework used by core applications. The architecture design of this application simplifies Component reuse; any application can publish its functional blocks, and any other application can use the released functional blocks (but the security restrictions of the framework must be followed ). Similarly, this application reuse mechanism allows you to easily replace program components.
A series of services and systems are hidden behind each application, including;
Provides a rich and scalable view (Views) that can be used to build applications, including lists, grids, and text boxes ), button (buttons), or even an embedded web browser.
Content Providers allow applications to access the data of another application (such as the contact database) or share their own data.

Alibaba Resource Manager provides access to non-code resources, such as local strings, images, and layout files ).
Notification Manager allows applications to display custom prompts in the status bar.
The lifecycle Activity Manager is used to manage the application lifecycle and provides common navigation rollback functions.

Iii. Library
Android contains some C/C ++ libraries that can be used by different components in the Android system. They provide services to developers through the Android Application Framework. The following are some core databases:
Fuse System C library-a standard C system function library (libc) inherited from BSD, which is specially customized for embedded linux devices.
 Media library-Based on PacketVideo OpenCORE. This Library supports multiple common audio and video formats for playback and recording, and supports static image files. The encoding formats include MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
Graphic Surface Manager-manages the display subsystem and provides seamless integration of 2D and 3D layers for multiple applications.
 LibWebCore-a latest web browser engine that supports Android browsers and an embedded web View.
 SGL-underlying 2D graphics engine

 3D libraries-implemented based on OpenGL ES 1.0 APIs. This library can use hardware 3D acceleration (if available) or highly optimized 3D soft acceleration.
 FreeType-bitmap and vector Fonts.
 SQLite-a lightweight relational database engine that is available and powerful for all applications.

Iv. Android Runtime Library
Android includes a core library that provides most of the functions of the core library of JAVA programming language.
Every Android application runs in its own process and has an independent Dalvik Virtual Machine instance. Dalvik is designed as... the remaining full text>

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.