3.1Android 平台简介

什么是Android

Android一词本意是指“机器人”,是一个移动设备,是基于Linux平台,由操作系统,中间件、用户界面和应用软件组成。

 

Android是基于Linux开放性内核的操作系统,是Google公司在2007115日公布的手机操作系统。Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。

 

2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。

 

Android一开始并不是Google自己研发的产品,而是收购了一家刚刚创业22个月的公司的产品,该公司的创始人是Andy Rubin,也就是现在Google Android产品负责人罗宾。

 

Google2007115日发布了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 应用程序。 

 

4Linux 内核

Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。

 

3.2Android 应用程序组件

要从事Android应用程序开发,那么了解Android应用程序的思想是非常必要的。Android应用程序没有统一的入口(例如main()方法),各个应用之间是相互独立的,并且运行在自己的进程当中。根据完成的功能不同,Android划分了四类核心的组件类:ActivityServiceBroadcast ReceiverContentProvider。相同组件和不同组件之间的导航通过Intent来完成。Android还定义了View类来显示可视化界面,例如菜单、对话框、下拉列表等。

3.2.1Activity

Activity,表示一个活动,是Android组件中最基本也是最为常用的一种组件,在一个Android应用中,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并且继承于Activity这个基类。这个Activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。

3.2.2Service

一个Service是一种长生命周期的、没有用户界面的程序。一般用于后台执行程序时使用,例如在一个媒体播放器的应用中,应该会有多个Activity,让使用者可以选择歌曲并播放歌曲,然而,音乐重放这个功能并没有对应的Activity,因为使用者会认为在导航到其他屏幕时音乐应该还在播放。

3.2.3Broadcast Receiver

Broadcast Receiver是为了实现系统广播而提供的一种组件。例如,我们可以发出一种广播来检测手机电量的变化,这时候就可以定义一个Broadcast Receiver来接收广播,当手机电量较低时提示用户。

3.2.4Content Provider

Android应用程序之间是相互独立的,各个组件运行在不同的进程中,这就意味着数据是不能共享的。如何使得不同组件的数据可以共享呢?Android通过使用Content Provider来实现不同组件之间数据的共享。

3.2.5View

ViewAndroid中图形用户界面的基类,提供了可视化界面的展示。Android的图形界面展示可以分为三层:底层是ActivityActivity上面是WindowWindow上面是ViewsView又可以分为ViewViewGroupView是指基本的控件,例如按钮、单选框、多选框、菜单等;ViewGroup是指布局控件,即用来控制界面中的控件如何布局摆放的。

3.2.6Intent

Intent是不同组件之间相互导航的纽带,封装了不同组件之间导航查找的条件。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有MAINActivity的门户)、VIEWPICKEDIT等。而动作对应的数据则以URI的形进行表示。例如,要查看一个人的联系方式,你需要创建一个动作类型为VIEWIntent,以及一个表示这个人的URI

 

更多相关文章

  1. 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程
  2. Android 封装的数据库管理操作类
  3. Android应用程序的Activity启动过程简要介绍和学习计划
  4. Android Sqlite轻量级数据库框架
  5. Android学习笔记之——UI组件
  6. Android应用程序资源
  7. android的liveview装载数据
  8. Android 将从网络获取的数据缓存到私有文件
  9. Android SQLite数据库操作

随机推荐

  1. Android(安卓)TTS学习——独特你的名字
  2. Android 日志工具类
  3. Android如何分析和研究Monkey Log文件
  4. android ViewPager之OnPageChangeListene
  5. AndroidTimer使用(三)-补充篇
  6. Google code android开源项目(二)
  7. android 自定义toast停留时间
  8. bug: Could not get resource 'https://j
  9. Android 以任意比例裁剪图片
  10. Android学习--使用Pull解析器读取XML文件