Android Concise Development Tutorial One: overview

Source: Internet
Author: User
Tags memory usage sqlite linux

Since Google launched the Android phone platform, the use of Android as a platform for mobile phones and tablets increasingly popular. The figure below is a chart of the market share of several mainstream smartphone platforms in the United States in September 2010 and December three months.

You can see that by December 2010, Android has surpassed Apple's iphone in the US, and because of the openness of the Android platform, I think it will become more popular in the future. The equivalent of other common mobile phone development platforms, such as Java Me,windows Mobile, BlackBerry, IPhone, Winodws phone 7. Android development is still easier to get started.

What is Android?

Android is a set of software specifically for mobile devices that includes an operating system, middleware, and important applications. The Android SDK provides the tools and API interfaces needed to develop Android applications on the Android platform using the Java language.

Android features

? Application framework support for reuse and replacement of components

Dalvik virtual machines for mobile device optimization

Integrated browsers based on open source WebKit engine

Optimized graphics library includes custom 2D graphics library, 3D graphics library based on OpenGL ES 1.0 (Hardware acceleration optional)

SQLite as a structured data store

Multimedia support includes common audio, video, and static image formats (e.g. MPEG4, H.264, MP3, AAC, AMR, JPG, Png,gif)

GSM Telephone technology (hardware dependent)

blue tooth Bluetooth bluetooth, EDGE, 3G, and WiFi (hardware dependent)

Cameras, GPS, compasses, and accelerometers (accelerometer) (dependent on hardware)

A rich development environment includes device simulators, debugging tools, memory and performance analysis charts, and Eclipse integrated development environment Plug-ins.

Application Framework

Developers can also fully access the API framework used by core applications. The application's architectural design simplifies the reuse of components; Any application can publish its block of functionality and any other application can use its published block of functionality (although it follows the security constraints of the framework). Similarly, the application reuse mechanism makes it easy for users to replace program components.

Hidden behind each application is a series of services and systems, including;

Rich and extensible view (views) that can be used to build applications, including lists (lists), grids (grids), TextBox (text boxes), buttons (buttons), and even web browsers that can be embedded.

Content Providers enables applications to access data from another application, such as a contact database, or to share their own data

The Resource Manager (Resource Manager) provides access to non-code resources, such as local strings, graphics, and layout files (layoutfiles).

The Notification Manager (Notification Manager) enables applications to display custom prompts in the status bar.

The activity manager is used to manage the application lifecycle and provide common navigational fallback functionality.

Library is

Android includes some C + + libraries that can be used by different components in the Android system. They pass the Android application framework

Provide services to developers. Here are some of the core libraries:

System C Library-a standard C system function library (LIBC) inherited from BSD, which is specifically tailored for embedded Linux based devices.

Media Library-based on PacketVideo Opencore, the library supports a variety of commonly used audio, video format playback and recording, while supporting static image files. Coding formats include MPEG4, H.264, MP3, AAC, AMR, JPG, PNG.

Surfacemanager– manages the display subsystem and provides seamless integration of 2D and 3D layers for multiple applications.

libwebcore– is an up-to-date web browser engine that supports the Android browser and a Web view that can be embedded.

sgl– Bottom 2D Graphics engine

3D libraries– is based on OpenGL ES 1.0 APIs, which can use hardware 3D acceleration (if available) or use highly optimized 3D soft acceleration.

FreeType-Bitmap (bitmap) and vector (vectors) font display.

sqlite– a lightweight relational database engine that is powerful for all applications.

Android Run-time Library

Android includes a core library that provides most of the functionality of the Java programming language core library.

Each Android application runs in its own process and has a separate Dalvik virtual machine instance. Dalvik is designed

As a device, you can run multiple virtual systems efficiently at the same time. The Dalvik virtual machine executes (. dex) 's Dalvik executable file, the format

The pieces are optimized for small memory usage. While the virtual machine is based on registers, all classes are compiled via the Java compiler and then passed through the SDK

The "DX" tool in is converted to the. dex format by the virtual machine.

Dalvik virtual machines rely on some features of the Linux kernel, such as threading mechanisms and underlying memory management mechanisms.

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.