Android 是一种基于Linux操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin创建开发,后来被Google收购注资。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
目录
- 1. 发行版本
- 2. 系统架构
- 3. 应用特色
- 4. 平台优势
1. 发行版本
Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名。后来由于涉及到版权问题,从Android 1.5版本开始,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。下述表是目前所有Android版本名称,对应API号以及发布时间。
版本号 | 版本名称 | API 级别 | 发布时间 |
---|---|---|---|
Android 1.0 |
- | 1 |
2008.9.23 |
Android 1.1 |
- | 2 |
2009.2.2 |
Android 1.5 |
Cupcake(纸杯蛋糕) |
3 |
2009.4.30 |
Android 1.6 |
Donut(甜甜圈) |
4 |
2009.9.15 |
Android 2.0/2.0.1/2.1 |
Eclair(松饼) |
5/6/7 |
2009.10.26 |
Android 2.2/2.2.1 |
Froyo(冻酸奶) |
8 |
2010.5.20 |
Android 2.3/2.3.2/2.3.3/2.3.7 |
Gingerbread(姜饼) |
9/10 |
2010.12.7 |
Android 3.0/3.1/3.2 |
Honeycomb(蜂巢) |
11/12/13 |
2011.2.2 |
Android 4.0/4.0.2/4.0.3/4.0.4 |
Cream Sandwich(冰淇淋三明治) |
14/15 |
2011.10.19 |
Android 4.1/4.2/4.3 |
Jelly Bean(果冻豆) |
16/17/18 |
2012.6.28 |
Android 4.4 |
KitKat(奇巧巧克力) |
19/20 |
2013.11.1 |
Android 5.0/5.1 |
Lollipop(棒棒糖) |
21/22 |
2014.10.16 |
Android 6.0 |
Marshmallow(棉花糖) |
23 |
2009.5.28 |
Android 7.0/7.1 |
Nougat(牛轧糖) |
24/25 |
2016.8.22 |
Android 8.0/8.1 |
Oreo(奥利奥) |
26/27 |
2017.8.21 |
2. 系统架构
Android系统架构图架构的简单理解:
- Application(应用程序层): 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言。
- Application Framework(应用程序框架层): 无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager) 通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现。
-
Libraries(库) + Android Runtime(Android运行时): Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)而他的简单运行流程如:
Dalvik虚拟机运行图 - Linux Kernel(Linux内核): 这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等。
3. 应用特色
-
四大组件
Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(BroadCast Receiver)和内容提供器(Content Provider)。其中活动(Activity)就是Android应用程序中看得东西,也是用户打开一个应用程序的门面,并且与用户交互的界面,比较高调;服务(Service),则比较低调了,一直在后台默默的付出,即使用户退出了,服务仍然是可以继续运行的;广播接收器(BroadCast Receiver),则允许你的应用接收来自各处的广播消息,比如电话、短信等,可以根据广播名称不同,做相应的操作处理,当然了, 除了可以接受别人发来的广播消息,自身也可以向外发出广播消息,自产自销;内容提供器(Content Provider),则为应用程序之间共享数据提供了可能,比如你想要读取系统电话本中的联系人,就需要通过内容提供器来实现。 -
丰富的系统控件
Android系统为开发者提供了丰富的系统控件,我们可以编写漂亮的界面,也可以通过扩展系统控件,自定义控件来满足自我的需求,常见控件有:TextView、Buttion、EditText、一些布局控件等。 -
SQLite数据库等持久化技术
Android系统还自带了SQLite数据库,SQLite数据库是一种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方便。 -
地理位置定位
移动设备和PC相比,地理位置定位是一大亮点,现在基本Android手机都内置了GPS,我们可以通过GPS,结合我们的创意,打造一款基于LBS的产品,是不是很酷的事情啊,再说,目前火热的LBS应用也不是空穴来风的,不过在天朝,因为可恶的GFW,只能用些本土化的地图API,比如百度地图、高德地图。要是哪天能用上大谷歌的地图,那才是高大上啊。 -
强大的多媒体
Android系统提供了丰富的多媒体服务,比如音乐、视频、录音、拍照、闹铃等,这一切都可以在程序中通过代码来进行控制,让你的应用变得更加丰富多彩。 -
传感器
Android手机中内置了多种传感器,比如加速传感器、方向传感器,这是移动设备的一大特点,我们可以灵活地使用这些传感器,可以做出很多在PC上无法实现的应用。比如“微信摇一摇"_你懂得,“搜歌摇一摇”等功能。
4. 平台优势
开放性
在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
丰富的硬件
这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。
方便开发
Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。
Google应用
在互联网的Google已经走过10年度历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。
网友评论