??? 接触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 (DalvikExecutable),然后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设备在AndroidMarket上下载过软件。 只有通过谷歌公司许可并且认证的厂家才能在其产品设备上安装谷歌服务框架和AndroidMarket。
??? 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便被停止,甚至被系统清除。
?
?