`

What is Android?

 
阅读更多
Android是一个用于移动设备软件栈(software stack),它包括操作系统,中间件和关键应用。那么Android SDK(soft development kit)为在Android平台开发(Java语言)提供必须的工具和API。

    特性:
    1,应用程序平台          重用和替换组件
    2,Dalvik虚拟机          为移动设备优化的虚拟机
    3,集成浏览器            基于开源WebKit(http://www.webkit.org/)引擎
    4,优化的图形显示        2D基于客户端图形库;3D基于OpenGL ES1.0(可选硬件加速)
    5,SQLite                结构化存储数据
    6,多媒体支持            音视频及图片(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
    7,GSM电话支持           普通基于硬件的GSM卡
    8,蓝牙,EDGE,3G,WIFI    
    9,照相,GPS,指南针,感应器
    10,富开发环境           谷歌提供PC设备模拟器,调试工具,内存性能分析工具,Eclipse插件
    Android架构(Architecture):

四层结构:
Applications
Android附带一条核心应用程序,包括Email客户端,短信程序,日历,地图,浏览器,电话以及其他。所有应用程序都是Java语言编写的。
Application Framework 
基于开放开发平台,android可以让开发人员创建极其丰富和新颖的应用。开发人 员可以免费利用设备硬件,存取位置信息(access location information),后台服务,设置警告,添加通知状态栏等等。
开发人员可以随心所欲的获取和核心应用程序一样的平台API。平台结构的设计就是为了重用组件。任何应用程序可以发布有用功能,而任何其他的应用程序可以访问这些功能,当然所有这些得服从框架的安全约束条件。因此,用户可以替换平台组件。
所有的应用程序都是基于下面的服务和系统:
1,内容提供者(Content Providers) 获取和分享数据
2,资源管理器 (Resource Manager) 获取非源码资源(如strings,graphics,layout)
3,提醒管理器(Notification Manager)在状态栏显示客户提醒
4,Activity Manager 管理应用程序生命周期和提供通用导航backstack
Libraries/Android Runtime
Android包含了一套被Android系统平台组件使用的C/C++类库。这些类库功能通过android平台框架提供给开发人员。这些类库如下:
1,System C library  继承标准C类库(libc)的BSD衍生套件,良好的嵌入式Linux设备。
    2,Media Libraries 基于Packet Video’s OpenCore
3,Surface Manager 显示子系统和无缝融合2D/3D图形层
4,LibWebCore 支持android浏览器和嵌入式的网络视图
5,SGL 基本的2D图形引擎
6,3D Libraries 基于OpenGL ES1.0 APIs的实现
7,FreeType 位图和矢量字体渲染、
8,SQLite 强大而且轻量的关系数据库引擎

Android runtime:Android提供一套核心库,并且大部分功能可以用Java语言编程来调用(most of the functionality)。
每一个android程序都自己的包含Dalvik虚拟机实例的进程。Dalvik被改写到可以有效的使一个设备同时运行多个虚拟机。Dalvik虚拟机可以执行dex格式文件,这种格式可以使内存占有最小化。这个虚拟机上寄存器依赖,可以运行Java语言编译器编译的类文件(通过内置的“DX”工具转变为dex文件格式);
Dalvik虚拟机依赖Linux内核的基本功能,例如线程和底层内存管理。
Linux Kernel
Android依赖Linux 2.5的核心系统服务如安全,内存管理,进程管理,网络以及驱动模型。这块核心也是一个在硬件和其他软件之间的抽象层。
分享到:
评论

相关推荐

    Android Developer Guide

    29.04.09 0:33 What is Android? | Android Developers What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android ...

    Android A Programmer’s Guide.rar

    1 What Is Android? . . 1 2 Downloading and Installing Eclipse . . 9 3 Downloading and Installing the Android SDK . . . 21 4 Exploring the Android SDK . . . 35 5 Application: Hello World! 53 6 ...

    unlocking_android.pdf.7z

    –’(What is Android?–The Big Pictures)。我必须承认,我曾认为这是小问题,但显然它不是。本书的概述很不错,但真正的价值是帮助读者设置好自己的开发环境。这是很多书籍完全没有提到的,因为它常常被看做是一个...

    Android™ A Programmer’s Guide

    1 What Is Android? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Downloading and Installing Eclipse . . . . . . . . . . . . . . . . . . . . . . . . ...

    android API

    - **What is Android?** - 介绍了Android操作系统的概览,包括其历史、特点和发展趋势。 - **aapt (Android Asset Packaging Tool)** - 用于处理Android资源文件的工具。 - **adb (Android Debug Bridge)** - ...

    [计算机软件及应用]Android开发者指南.doc

    7. What is Android?:解释Android系统的基本概念和架构。 8. ProGuard:代码混淆工具,用于优化和保护应用代码。 9. Android API Levels:介绍Android的不同版本及其API级别,开发者需根据目标设备选择合适的API...

    Android代码-Android开发框架cyborg

    What is Cyborg? Cyborg is a framework layer over Android, one that will save you at least 50% of development time, and the code you are used to write while developing Android. If you are an Android ...

    android-a programmer's guide

    1 What Is Android? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Brief History of Embedded Device Programming . . . . . . . . . . . . . . . . . . . . ...

    android 经典教程

    #### 一、概览与大图景(Part 1:What is Android? — The Big Picture) ##### **1. 目标定位Android(Targeting Android)** - **Android版本概述**:介绍了Android不同版本的发展历程及其特点,帮助开发者了解...

    Android代码-Android快速搜索工具

    What is it? KISS is a fast launcher for your Android. Search through your apps, contacts and settings lightning fast. No more time spent trying to find the app you want to launch: enter a few ...

    Android代码-epic

    What is it? Epic is the continution of Dexposed on ART(Supporting 4.0~9.0). > Dexposed is a powerful yet non-invasive runtime AOP (Aspect-oriented Programming) framework for Android app development, ...

    Android代码-崩溃报告自动收集

    What is ACRA ? ACRA is a library enabling Android Application to automatically post their crash reports to a report server. It is targeted to android applications developers to help them get data from...

    Android代码-GitHub Status

    What is it? GitHub-Status keeps you up-to-date with the most recent status of GitHub, built on top of their Status API. Dependencies GitHub Status uses the Android Support Library for the provided ...

    Android代码-serverless-webrtc-android

    serverless-webrtc-android A demo of using WebRTC with no signaling server. But for Android written in ...What is WebRTC? It's technology for real time peer to peer comunication. Especially useful for tr

    Android代码-Munch

    What is Munch ? Munch is an android app which enable the users to manage their Rss feeds. User can add new sources, manage them and view the article associated with the feeds. Permissions: Internet ...

    Android代码-Vespucci

    Vespucci - An OpenStreetMap editor for ...What is Vespucci? An offline (once you have downloaded data) editor for OpenStreetMap Runs on mobile devices using the Android platform Functionality: Create

    Android - A Programmer's Guide.pdf

    文档提到的书籍标题为《Android™: A Programmer’s Guide》,这是一本专注于Android开发的编程指南。由于文档内容可能包含OCR扫描错误,一些具体的页面和文本内容可能不完整,但我们可以推断这本书是为程序员提供的...

    Android代码-直接访问安卓系统隐藏的 APIs 和资源

    What is Android internal and hidden APIs? The internal API is located in the com.android.internal package which is available in the framework.jar file from a real Android device, while the hidden API ...

    Android代码-清除

    What is this? This is a sample theme for GYF Theme Launcher. I expect lots of things to be broken so, well, you've been warned :) -Chris. Documentation Theming GYF is, at this point, very basic and ...

    Android代码-Blueteeth

    What Is Blueteeth? Blueteeth is a simple, lightweight library intended to take away some of the cruft and tediousness of using the Android BLE API. I wrote about it originally here: ...

Global site tag (gtag.js) - Google Analytics