3.1、Android 平台简介
什么是Android?
Android一词本意是指“机器人”,是一个移动设备,是基于Linux平台,由操作系统,中间件、用户界面和应用软件组成。
Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。
2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。
Android一开始并不是Google自己研发的产品,而是收购了一家刚刚创业22个月的公司的产品,该公司的创始人是Andy Rubin,也就是现在Google Android产品负责人罗宾。
Google于2007年11月5日发布了Android1.0手机操作系统,号称是首个为移动终端打造的真正开放和完整的移动软件,后经版本不断更新,目前最新版本为Android2.3.3。
下图显示了Android操作系统的主要组成部分
1、应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
2、应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
(1)丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text
boxes),按钮(buttons), 甚至可嵌入的web浏览器。
(2)内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),
或者共享它们自己的 数据
(3)资源管理器(Resource Manager)提供
非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。
(4)通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
(5)活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
有关更多的细节和怎样从头写一个应用程序,请参考 如何编写一个 Android 应用程序。
3、系统运行库
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
(1)丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text
boxes),按钮(buttons), 甚至可嵌入的web浏览器。
(2)内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),
或者共享它们自己的 数据
(3)资源管理器(Resource Manager)提供
非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。
(4)通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
(5)活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
有关更多的细节和怎样从头写一个应用程序,请参考 如何编写一个 Android 应用程序。
4、Linux 内核
Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。
3.2、Android 应用程序组件
要从事Android应用程序开发,那么了解Android应用程序的思想是非常必要的。Android应用程序没有统一的入口(例如main()方法),各个应用之间是相互独立的,并且运行在自己的进程当中。根据完成的功能不同,Android划分了四类核心的组件类:Activity、Service、Broadcast Receiver、ContentProvider。相同组件和不同组件之间的导航通过Intent来完成。Android还定义了View类来显示可视化界面,例如菜单、对话框、下拉列表等。
3.2.1、Activity
Activity,表示一个活动,是Android组件中最基本也是最为常用的一种组件,在一个Android应用中,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并且继承于Activity这个基类。这个Activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。
3.2.2、Service
一个Service是一种长生命周期的、没有用户界面的程序。一般用于后台执行程序时使用,例如在一个媒体播放器的应用中,应该会有多个Activity,让使用者可以选择歌曲并播放歌曲,然而,音乐重放这个功能并没有对应的Activity,因为使用者会认为在导航到其他屏幕时音乐应该还在播放。
3.2.3、Broadcast Receiver
Broadcast Receiver是为了实现系统广播而提供的一种组件。例如,我们可以发出一种广播来检测手机电量的变化,这时候就可以定义一个Broadcast Receiver来接收广播,当手机电量较低时提示用户。
3.2.4、Content Provider
Android应用程序之间是相互独立的,各个组件运行在不同的进程中,这就意味着数据是不能共享的。如何使得不同组件的数据可以共享呢?Android通过使用Content
Provider来实现不同组件之间数据的共享。
3.2.5、View
View是Android中图形用户界面的基类,提供了可视化界面的展示。Android的图形界面展示可以分为三层:底层是Activity;Activity上面是Window;Window上面是Views。View又可以分为View和ViewGroup。View是指基本的控件,例如按钮、单选框、多选框、菜单等;ViewGroup是指布局控件,即用来控制界面中的控件如何布局摆放的。
3.2.6、Intent
Intent是不同组件之间相互导航的纽带,封装了不同组件之间导航查找的条件。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有MAIN(Activity的门户)、VIEW、PICK、EDIT等。而动作对应的数据则以URI的形进行表示。例如,要查看一个人的联系方式,你需要创建一个动作类型为VIEW的Intent,以及一个表示这个人的URI。
分享到:
相关推荐
第1.1节Android平台简介
Android移动应用开发中Android平台简介单元主要内容.pdf 学习资料 复习资料 教学资源
Android平台开发简介.pptx
【关键词】Android手机平台 商业应用 一、Android平台简介 Android出现之前,在智能手机OS市场,Symbian和WM两者占据大部分市场份额,但在 移动互联网的快速发展、终端+应用的趋势逐渐成为主流的情况下,两者的劣势...
1 1 Android平台简介 1 1 1 Android背景介绍 1 1 2 Android平台架构 1 2 Android开发环境的搭建 1 2 1 相关软件的下载与安装 1 2 2 虚拟设备的创建和使用 1 2 3 创建“Hello Android” 1 2 4 Android应用程序的调试 ...
android SDK安装详解,android 虚拟平台安装, android与eclipse集成开发
《Android平台开发之旅(第2版)》涵盖Android 3/4的新特性,立足实际的开发案例,介绍了Android平台开发的基础概念、实用技术和应用模式。主要内容包括应用程序框架、高级界面、数据库应用、网络通信与Web开发、无线...
1 Android平台简介 Android是Google公司于2007年11月5日推出的手机操作系统,经过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40多家移动通信领域的领军企业组成开放手机联盟(OHA)。...
Android 简史 Android的优势 Android 平台简介 开发环境 应用程序架构及生命周期 Android构造块 Android安全性
资源名称:HTML5移动开发-面向iOS和Android平台内容简介:《新手学HTML5移动开发:面向iOS和Android平台》第1部分从第1章~第8章。第1章首先介绍了HTML4.01的基本原理,第2章通过生动且复杂的教程介绍了HTML5,其中...
SQLite是一个包含一个自包含、无服务、零配制、事务型的SQL数据库引擎的软件库。...Android SDK网站提供了在Android平台上使用Java编程语言开发应用程序所必须的工具和API。 本文档是对官方文档中概要段落的一点翻译。
分享故事 什么是Android(安卓) 手机操作系统 Android发展和历史 Android的特点 Android平台架构及特性(★) 附录
学android有一段时间了,“南通商城”android版升级到V0.3版本,遇到了很多问题,也尝试解决了许多问题,感觉是时候回过头来再补补理论了,刚开始也是以动手为主,力争尽快上手。很赞《android基础教程》这本书,...
在Google及其开放手机联盟推出基于Linux平台的开源手机操作系统Android之后,Google又不惜重金举办了Android开发者大赛,吸引了众多开发者的目光。Android不仅功能强大,而且具有开放和免费等先天优势,全球范围内的...
Android 是一种基于 Linux® V2.6 内核的综合操作环境。最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。...在本文中,阅读对 Android 平台的简介,并学习如何编写基本的 Android 应用程序。
NULL 博文链接:https://sjl599.iteye.com/blog/752225
多媒体技术和Android开发平台简介.ppt
Android平台上sqllite_简介.doc来自csdn得博客