`
balan
  • 浏览: 68800 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 是什么

    博客分类:
  • Java
阅读更多

欢迎关注Android!

Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。开发人员可以使用Android SDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。Dalvik是一款量身定制的虚拟机,它专为嵌入式应用设计,运行在Linux内核上层。

如果你想了解如何为Android平台开发应用程序,你就来对地方了!为了帮助大家了解Android平台进而开发移动应用程序,这里 提供了各种丰富的文档。

Android SDK 的预览版已经可以下载 了。其中包括了附含源代码的样例工程、开发工具、仿真器,当然了,还有你构建工程所必需的类库。

Android是什么?

机器人?

android_robot                                 

Android是一组面向移动设备的软件包,包含了一个操作系统,中间件和关键应用程序。Android SDK 的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言在Android平台上开发应用程序了。

androidos 有点Linux风格吧

特性

  • 应用程序框架 支持组件的复用和更换
  • Dalvik 虚拟机 专门为移动设备进行过优化
  • 集成的浏览器 基于开源的 WebKit 引擎
  • 优化的图形机制 自定义的2D图形库,基于OpenGL ES 1.0规范的3D图形实现(本项为硬件加速器可选)
  • SQLite 轻量级的数据库,支持结构化数据的存储
  • 媒体支持 面向常见的音频、视频以及静态图形档案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM 技术 GSM:global system for mobile communications (依赖硬件支持)
  • Bluetooth, EDGE, 3G, and WiFi (依赖硬件支持)
  • Camera, GPS, compass, and accelerometer (依赖硬件支持)
  • Rich development environment 丰富的开发环境,包含一套硬件仿真器,一些用于程序调试、内存和性能剖析的工具,以及支持Eclipse集成开发环境的插件(ADT )。

Android架构

下方图表显示了Android操作系统的主要组件。要知道关于各个部分更多的细节,下文还有描述,请继续看。

system-architecture

Applications (应用)

Android将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。

Application Frameworks (应用框架)

上文所提的核心应用程序就是依赖框架层次API开发的,程序员们当然也可以充分使用这些API。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。

所有应用都是一组服务和系统,一般包含:

  • 一套丰富且可扩展的视图 组件,含有lists, grids, text boxes, buttons, 甚至嵌入的网络浏览器
  • Content Providers (内容提供器) 使一个应用可以访问另外一个应用的数据(如联系人),或者使一个应用内部可以共享自身数据
  • Resource Manager (资源管理器),提供对非编码资源——例如本地化字符串、图形和布局文件——的访问通道
  • Notification Manager (通告管理器),使应用在状态栏显示自定义的警报通知。
  • Activity Manager (行动管理器)负责管理应用的生命周期,提供通用导航回退支持

要知道更多细节,了解应用内幕,请参考教程 《Android应用编写》

Libraries (库)

Android包含一套C/C++库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。下面列举一些核心库:

  • System C library - 衍生于BSD的标准C系统库(libc)实现(注:BSD:Berkeley Software Distribution,伯克利软件套件,是Unix的衍生系统,1970年代由伯克利加州大学开创),尤其支持嵌入式的基于Linux的设备。
  • Media Libraries - 媒体库基于PacketVideo's OpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG )的播放和录制
  • Surface Manager - 管理范围:对子系统显示功能的访问,跨应用的无缝组合2D和2D图形层
  • LibWebCore - 是流行的浏览器引擎,可以支持Android浏览器和嵌入应用的WEB视图组件
  • SGL - 底层的2D图形引擎
  • 3D libraries - 基于OpenGL ES 1.0 API的实现; 该类库使用硬件3D加速器(如果硬件支持的话)或者内置的、高度优化的3D软件加速机制。
  • FreeType - 支持位图和矢量字体
  • SQLite - 能干、轻量级的关系型数据库引擎,面向所有应用

Android Runtime (Android运行时)

Android的核心类库提供Java类库所提供的绝大部分功能。

每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。

Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)——该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。

在一些底层功能——比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。

 

Linux Kernel (Linux内核)

Android依赖Linux 2.6版,提供核心系统服务:安全、内存管理、进程管理、网络组、驱动模型。内核部分还相当于一个介于硬件层和系统中其他软件组之间的一个抽象层次。

分享到:
评论
4 楼 walkline 2013-02-01  
dalvik是一个小镇名字
3 楼 java-admin 2009-01-22  
good!
我转载一下!
2 楼 jyasa 2008-09-29  
补充一下:
Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。
1 楼 forgetrebecca 2008-08-22  
great!

相关推荐

    14天学会Android开发 飞龙整理 20141005

    一、Android是什么? * Android是一个针对移动设备的操作系统和软件平台 * 基于Linux内核,由Google和开放手机联盟OHA开发 * 允许使用Java语言来开发和管理代码 * Android开放源代码,遵从Apache Software License ...

    Android串口通信(Android Studio)

    在Android开发中,串口通信(Serial Port Communication)是一种重要的技术,它允许设备之间通过串行接口进行数据交换。在Android Studio环境下实现串口通信,开发者可以构建与硬件设备交互的应用,例如读取传感器...

    Android.bp文件说明.pdf

    Android新编译规则Android.bp文件语法规则详细介绍,条件编译的配置案例。 Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk 文件的。在 Android7.0 以前,Android 都是使用 ...

    判断android手机是华为小米魅族系统

    在Android开发中,有时我们需要根据设备制造商或操作系统版本来实现特定功能或适配。这个"判断android手机是华为小米魅族系统"的工具类就是针对这种情况设计的,它可以帮助开发者识别用户设备是属于华为、小米还是...

    JS调用Android方法,向Android方法传递json数据

    在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...

    android抽屉菜单 android panel

    在Android应用开发中,抽屉菜单(Drawer Menu)是一种常见的设计模式,用于提供导航功能,让用户可以从屏幕边缘滑出一个包含多个选项的列表。这种设计通常遵循Material Design指南,是Google推荐的Android应用界面...

    Android组件设计思想

    这样就可以在组件再次需要使用时,原地满血复活,就像什么都没发生过一样。这种设计思想非常适合内存较小的移动设备。理解Android组件设计思想,对Android应用程序架构会有更好的认识。这一节讲Android组件化设计的...

    Android SDK离线包合集(Android 4.0-5.0)

    Android SDK离线包合集(Android 4.0-5.0)。不用去Google下载,直接国内下载离线包,各版本文件独立,任意下载。手机流量上传了一部分,好心疼。如不能下载,请告诉我更新地址。 附上简单教程。 这是Android开发所...

    Android开发入门60个小案例+源代码

    在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...

    Android点餐系统项目

    《Android点餐系统项目》是一门深度探讨如何在Android平台上构建无线点餐系统的视频教程,旨在教授学员如何利用Android技术实现一个完整的点餐系统,包括客户端和服务端的开发。这门课程涵盖了移动应用开发的多个...

    Android设置虚线、圆角、渐变

    在Android开发中,为UI元素添加虚线、圆角和渐变效果是常见的需求,可以提升应用的视觉吸引力。下面将详细讲解如何实现这些效果。 ### 一、虚线(Dashed Line) 在Android中,我们可以使用`Shape Drawable`来创建...

    Android扫雷游戏(基于Android Studio)

    【Android扫雷游戏开发详解】 在移动开发领域,Android Studio是Google推出的官方集成开发环境(IDE),用于构建Android应用程序。本项目"Android扫雷游戏"就是利用Android Studio进行开发的一个实例,旨在帮助初学...

    android4.0源代码

    Android 4.0源代码是Android操作系统的冰激凌三明治(Ice Cream Sandwich)版本的底层实现,它包含了Android应用程序框架以及系统服务的核心组件。这个压缩包包含了一系列的源码目录,每个目录对应不同的模块,如...

    Android studio 小案例

    在Android开发领域,Android Studio是谷歌官方推荐的集成开发环境(IDE),用于构建高质量的Android应用。本小案例将深入探讨如何使用Android Studio进行实际项目开发。以下将详细介绍Android Studio的一些核心功能和...

    android 经典代码例子

    在Android开发领域,经典代码例子是开发者学习和提升技能的重要资源。这些例子涵盖了各种关键功能和组件的实现,有助于深入理解Android应用的工作原理。在这个压缩包中,我们可能找到了多个有关Android编程的示例...

    android应用开发范例精解

    第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...

    android 以太网 添加设置Ethernet

    在Android系统中添加以太网(Ethernet)功能是一项涉及到网络接口和系统服务集成的重要操作。在Android设备上,以太网通常用于提供稳定的有线网络连接,尤其在没有Wi-Fi或者无线信号不稳定的情况下。以下是对如何在...

    android viewpager android-support-v4.jar

    标题中的“android viewpager android-support-v4.jar”指的是Android平台上的一个关键组件——ViewPager,以及它依赖的Android Support Library v4。ViewPager是Android SDK中用于实现页面滑动效果的控件,常见于...

    Android自定义日期选择器源码

    在Android开发中,系统默认的日期和时间选择器虽然实用,但往往无法满足所有场景的需求。因此,开发者经常需要自定义日期选择器来提供更符合应用风格或特定功能的交互体验。这篇内容将深入探讨如何在Android中创建一...

    Android BLE蓝牙例子(包括android版Lightblue)实例源码

    源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...

Global site tag (gtag.js) - Google Analytics