接触android 大半年,期间做了三个项目(二个小型,一个中型)。一直是边做边学。
虽然开发上问题已不大,但总感觉自己对相关知识点认识不深。特写点文章,做为总结。
有时浏览招聘网站,招android 的动不动3 年/5 年以上开发经验,感觉android 平台发布也没几年啊,哪弄5 年以上的人啊。
呵呵,弄点android 方面小知识,也好和人事侃侃。
概述:
Android 是一种以Linux 为基础的开放源码操作系统 ,主要使用于便携设备。它由谷歌公司和开放手持设备联盟开发和领导。
Android 操作系统最初由安迪· 鲁宾 (Andy Rubin )创办,最初主要支持手机。2005 年8 月17 日被谷歌 公司(Google )收购注资。 2007 年11 月5 日,谷歌公司与84 家硬件制造商、软件开发商及电信运营商组成开放手持设备联盟 (Open Handset Alliance )来共同开发改良Android 操作系统并生产搭载Android 的智能手机 ,并逐渐扩展到到平板电脑 及其他领域上。
Android 的内核基于Linux ,除了内核之外,则是中介层、数据库元和用C/C++ 编写的API 以及应用程序框架。Android 的应用程序通常以Java 数据库元为基础编写,运行程序时,应用程序的代码会被实时转变为Dalvik dex-code (Dalvik Executable) ,然后Android 操作系统通过使用实时编译的Dalvik 虚拟机来将其运行。(Dalvik 是由Dan Bornstein 编写的,名字来源于他的祖先曾经居住过名叫 Dalvík 的小渔村。Executable 中文意思为可执行文件)
截止至2011 年10 月,Android 电子市场上拥有超过30 万个认证的应用程序,电子市场的应用程序下载量也在2011 年12 月达到100 亿次。由于Android 是开放的,因此它还可以通过第三方网站来下载安装电子市场上所没有的应用程序。
2010 年末数据显示,仅正式推出两年的操作系统的Android 在市场占有率上已经超越称霸十年的诺基亚 Symbian 系统 。2011 年8 月,Android 操作系统在全球智能手机操作系统的市场份额已达48% ,成为全球第一大智能手机操作系统。
详述:
名称来源
Android 一词最早出现于法国作家利尔亚当 在1886 年发表的科幻小说《未来夏娃 》中。他将外表像人的机器起名为Android 。
成立
2003 年10 月,拥有“Android 之父” 之称的安迪· 鲁宾(Andy Rubin )[24] 在美国加利福利亚州的帕洛阿尔托创建了Android 科技公司。
谷歌的收购
2005 年8 月17 日,谷歌公司收购了Android 科技公司。
开放手持设备联盟
2007 年11 月5 日,在谷歌公司的领导下,开放手持设备联盟创建,最开始的一批创始成员包括Broadcom 公司、HTC 、英特尔、LG 、Marvell 等公司。开放手持设备联盟的创建目的是为了创建一个更加开放自由的移动手机环境。而在开放手持设备联盟创建的同 一天,联盟对外展示了他们的第一个产品,一台搭载了以Linux 2.6 为内核基础的Android 操作系统的智能手机。 2008 年12 月9 日,新一批成员加入开放手持设备联盟,包括ARM 、华为 、索尼爱立信 等公司。
Linux 内核
Android 操作系统的内核属于Linux 内核的一个分支,具有典型的Linux 周期和功能,] 除此之外,谷歌公司为了能让Linux 在移动设备上良好的运行,对其进行了修改和扩充。2011 年,Linus Torvalds 说:“Android 的内核和Linux 的内核将最终回归到一起,但可能不会是4-5 年。”
世界上第一台正真意义上使用Android 操作系统的设备是2008 年10 月22 日发布的 HTC Dream 。
应用程序
早期的Android 应用程序开发,通常通过Android SDK (Android 软件开发包)下使用Java 作为编程语言来开发应用程序,但通过不同的软件开发包,则使用的编程语言也不同。例如开发者可以通过 Android NDK (Android Native 开发包)使用C 语言或者C++ 语言来作为编程语言开发应用程序。
Android Market
2009 年2 月,Google 推出Android Market 线上应用程序商店,用户可在该平台网页寻找、购买、下载及评级使用手机应用程序及其他内容。第三方软件开发商和自由开发者则可以通过Android Market 发布其开发的应用程序。截止至2011 年10 月,Android Market 上已有超过30 万个应用程序,并且在2011 年12 月,Android Market 上的应用程序下载量超过100 亿次。同时,全球已有1.3 亿台Android 设备在Android Market 上下载过软件。 只有通过谷歌公司许可并且认证的厂家才能在其产品设备上安装谷歌服务框架和Android Market 。
Android Market™ 内的付费程序在许多国家与地区内提供,如美国 、英国 、瑞典 、德国 、斯里兰卡 、泰国 、越南 、香港 、台湾 等。由于受到谷歌退出中国事件 影响,目前Android Market 的服务还没有扩展到中国大陆地区,但大陆用户仍可通过国际信用卡 和相关的免费软件来完成购买。
系统版本比例
版本
版本名称 |
API level |
% |
4.0 冰淇凌三明治 |
14-15 |
0% |
3.x.x 蜂巢 |
11-13 |
2.4% |
2.3.x 姜饼 |
9-10 |
50.6% |
2.2 冻酸奶 |
8 |
35.3% |
2.1 闪电泡芙 |
7 |
9.6% |
1.6 甜甜圈 |
4 |
1.3% |
1.5 纸杯蛋糕 |
3 |
0.8% |
发布
1.5 |
2009 年4 月30 日,官方1.5 版本(Cupcake 纸杯蛋糕)的Android 发布。 |
1.6 |
2009 年9 月15 日,1.6 (Donut 甜甜圈)版本软件开发工具包 发布。 |
2.0/2.0.1/2.1 |
2009 年10 月26 日,2.0 (Eclair 松饼)版本软件开发工具包 发布。 |
2.2/2.2.1 |
2010 年5 月20 日,2.2 (Froyo 冻酸奶)版本软件开发工具包 发布。 |
2.3 |
2010 年12 月7 日,2.3 (Gingerbread 姜饼)版本软件开发工具包 发布。 |
3.0.1/3.1/3.2 |
* 2011 年2 月2 日, 3.0 (Honeycomb 蜂巢)版本主要更新如下:
|
4.0 |
* 2011 年10 月19 日,4.0 (Ice Cream Sandwich 冰激凌三明治)版本主要更新如下: |
蓝色区块 :应用程序、管理与服务组件。 绿色区块 :数据库组件。 黄色区块 :操作系统的运行时期组件。 红色区块 :系统核心与驱动组件。
Android以Linux为核心的Android行动平台,使用Java 作为编程语言,
一个Activity类别负责创建视窗,一个活动中的Activity就是在foreground(前景)模式,背景执行的程序叫做Service。两者 之间透过由ServiceConnection和AIDL连结,达到复数程序同时执行的效果。如果执行中的Activity全部画面被其他 Activity取代时,该Activity便被停止,甚至被系统清除。