Android 的前世今生

  • Android 的诞生

    2003年10月,有“Android之父”之称的安迪·鲁宾(Andy Rubin)在美国加利福尼亚州帕洛阿尔托创建了Android科技公司(Android Inc.)。

  • Android 的发展历程

    2005年8月17日谷歌公司(Google)收购了这家公司,并不断将其开发成为现在的安卓系统。

    2007年11月12日,Android Beta操作系统SDK正式发布。

    2008年9月23日发布,这也是Android系统最早的版本。 Android 1.0

    伴随1.0的发布,首款搭载Android 1.0 OS的Android手机诞生。因为1.0不支持触摸输入,因此G1配置了实体键盘。图为HTC Dream(G1)



    2009年4月30日发布。从这时起,Android系统版本都是以糕点进行命名,并以字母排序。



    2009年9月15日发布。Android1.6首次支持了CDMA网络, Android 1.6



    2009年11月 Android 2.0



    2010年5月20日发布。直到Android2.2发布时,谷歌似乎才开始认真考虑Android的企业级功能。



    2010年12月7日发布。该版本开始对NFC的支持,Android 2.3



    2011年2月2日发布。“蜂巢” Android 3.0,专为平板设计



    2011年10月19日在香港发布。Android4.0



    2012年6月28日发布。Android4.1是谷歌继蜂巢之后,一次全新的平板策略尝试。

2014 年 10 月 15 日发布,Lollipop(棒棒糖):Android 5.0

全新Material Design设计风格

支持多种设备

支持64位ART虚拟机

2015年9月30日,Marshmallow(棉花糖):Android 6.0

原生的应用权限管理

支持RAW格式照片

支持快速充电的切换

2016年5月18日,Nougat(牛轧糖):Android N (Android 7.0)

分屏多任务

全新下拉快捷开关页

系统级电话黑名单功能

夜间模式

通知消息快捷回复

  • Android 未来发展方向预测

    智能手机必然越来越智能,只是Android做为智能手机的一个方阵,自然也有它的生命周期。

    现在,Android如日中天,在没有其他足够代替智能手机的产物出现之前,是不太可能被其他的东西所替代。

    Android现在已经加入了智能家居的配置,也会加强在身份识别上的认证,整合各种各样的ID Card。

    现在Android也不仅仅是手机上发力,在汽车导航,在电视,在有屏幕的地方,都可能有它的地盘。

Android 系统框架

  • 基本认知

    从使用者角度来看,第一次拿到Android手机,很明显的感觉就是和Windows桌面有些相似,都是在系统的基础上安装一些应用程序。

    直观的了解是,Android分为了系统层和应用层。

    Android又有很多电脑不具有的硬件设备,这些都是有它自己的驱动程序来引导的。

    有一定系统知识的人都知道,系统通常又可以分为内核层,系统运行库,和界面等几个层次。

    但这些毕竟都是比较简单的认知,下面还是从它的实际架构图上去了解下Android的层次
  • 框架图



    从图中可以看出,Android主要分为四个层次

    Linux 内核层

    系统运行库 Android运行时库

    应用程序框架层

    应用层

    应用层最好理解,也是智能手机价值体现的重要部分。

    应用程序构架层,也是程序员最常使用的部分,这里就包括了Android著名的四大组件

    系统运行库,程序要使用的一些常用库如(数据库,字体库,浏览器引擎,图形,媒体库等)

    Linux内核,就是一些驱动,文件系统,安全性,网络等几乎直接和硬件打交道的东西。

Android 主要组成 部分

  • 四大组件

    Activity

    直接翻译叫:活动,也就是你能看到有界面的对象,应该都算是Activity了。

    它是由Fragment或者 View(控件)填充来实现的。类似于电脑软件的Form界面 。

    Form界面的鼠标点击事件,在Activity中就是手指的点击事件,只是手指可以做出更多的操作,也就是说Activity可以对多种操作做出反应。(点,长按,双击,拖等)

    每个Activity都有它自己的生命周期,和人一样,有出生的时候,有使用的时候,有暂停(生病)的时候,有恢复的时候,当然也有死亡,还有销毁(火葬)的时候。在不同的时期,Activity对应做相应的事情,如:出生就只是创建一个新生命,它还什么都不能做,长大了就可以对一些事做出处理了。

    ContentProvider

    内容提供器,相当于一个云空间,谁都可以获取其中的内容,也可以往云中放内容。

    这样,不用每一个软件都自己建一个数据库,节省很多空间,同时也省去同类型数据存在在不同软件中找不到的情况。

    BroadCastReceiver

    广播,就是手机的喇叭,可以放外音,也可以用耳朵听。

    放外音就是谁都可以听到,谁都可以处理(当然还有一些特别的地方)

    用耳朵听,就只能自己听到了,自己给自己发送广播,自己的广播,自己处理。

    有什么好处呢?当有消息来了,不用一个个的通知了,谁要处理,谁处理去。

    如果是我自己的消息来了,你点一下,我自然也会来处理的。

    Service

    服务,就是在后台中运行的代码,这些代码没有界面显示。

    以前会有疑惑,后台运行的歌曲 不是有一个通知栏显示吗?其实那只是通知栏界面,跟Service没有关系,不要这个界面也是可以播放歌曲的。

    Service有点类似人的大脑,你是看不到它在算东西的,但是它能在大脑中设计出各种东西,做各种复杂的运算,还可以做一晚上的梦呢。

    但大脑不是无缘无故的就开始运作,而是要有一定的触发条件,比如看到了什么东西,有什么问题发生了等等,Service也是一样,一定要一个东西触发它启动,并告诉程序什么时候我做完了,然后返回一个结果出来。

  • 手机硬件(传感器)

    现在手机越来越强,但变化的主要是硬件上的,软件上的改变并不多。

    硬件上的变化主要是:各种传感器的加持,如最出名的(相机!!)

    NFC,蓝牙,指纹,温度传感器,等等。

    因为有了这些东西的加入 ,手机的功能也越来越丰富了,可能实现很多传统计算机很难实现的能力了。

    也为软件设计带来了很多有意思的思路。

Android 常用的操作

现在的智能手机,带键盘的越来越少,因为手指可操作的能力比键盘要强很多,手机可以点,按,双击,拖,两指划,画图,指纹,等等。

因为手指的无限灵活性,也让Android带有了各种反馈操作能力 。

如:按下,抬起,移动,都可以给它分配一个反应的动作。

Android 基础概念了解的更多相关文章

  1. Android Multimedia框架总结(五)多媒体基础概念

    转载请把头部出处链接和尾部二维码一起转载,本文出自: http://blog.csdn.net/hejjunlin/article/details/52431887 上篇中介绍了MediaPlayer ...

  2. 【转】Pro Android学习笔记(二):开发环境:基础概念、连接真实设备、生命周期

    在Android学习笔记(二):安装环境中已经有相应的内容.看看何为新.这是在source网站上的Android架构图,和标准图没有区别,只是这张图颜色好看多了,录之.本笔记主要讲述Android开发 ...

  3. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  4. Android开发面试经——2.常见Android基础笔试题

     标签: androidAndroid基础Android面试题Android笔试题 2015-03-12 15:04 3361人阅读 评论(3) 收藏 举报  分类: Android开发(29)  版 ...

  5. Android基础总结(8)——服务

    服务(Service)是Android中实现程序后台运行的解决方案,它非常适合用于去执行哪些不需要和用户交互而且还要长期运行的任务.服务的运行不依赖任何用户界面,即使当程序被切换到后台,或者用户打开了 ...

  6. 【Xamarin开发 Android 系列 4】 Android 基础知识

    原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...

  7. Android采访开发——2.通用Android基础笔试题

    注意finddreams博客: http://blog.csdn.net/finddreams/article/details/44219231 正值跳槽的热季.整理一下Android面试中最常考的笔 ...

  8. IM 融云 之 开发基础概念

    基础概念 - 开发篇 App Key / Secret App Key / Secret 相当于您的 App 在融云的账号和密码.是融云 SDK 连接服务器所必须的标识,每一个 App 对应一套 Ap ...

  9. C#基础概念总结

    C#基础概念总结 1..NET Framework概念 2. C#的含义: 3.什么是面向对象编程: 4.Visual Studio开发工具: 5..NET程序运行的机制: 1..Net Framew ...

随机推荐

  1. 在.net中调用Delphi dll的Pchar转换

    Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是De ...

  2. CORS浏览器跨域

    在SO上发现一个解释跨域很棒的,忍不住拿过来 链接在此:http://stackoverflow.com/questions/10636611/how-does-access-control-allo ...

  3. WVS简单使用

    Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞,如交叉站点脚本,sql 注入等.在被 ...

  4. 可爱的Python_课后习题_CDay0 时刻准备着!发布

    请根据软件发布的流程和软件开发的编码规范,将读者在前面章节所写的程序修改并发 布出去.另外,可以查找下除了 epydoc 外还有哪些较好的 py 文档生成器? pydoc是Python自带的模块,主要 ...

  5. 可爱的Python_课后习题_CDay−5 Python 初体验和原始需求

    计算今年是否是闰年.判断闰年条件,满足年份模400 为0,或者模4 为0 但模100不为0. def is_learp_year(year): """判断年份是否为润年& ...

  6. centos7最小安装后常常需要添加的命令

    本人下载的最小镜像文件下载地址:http://pan.baidu.com/s/1kUD2jbT 原文地址:http://blog.csdn.net/nmgrd/article/details/5176 ...

  7. WPF绑定xml数据源

    1.界面 <UserControl x:Class="HKDCMS.Client.Demo.UIViews.UIControls.AboutUsControl" xmlns= ...

  8. sdk命令

    SDK命令 常用sdk命令 开启adb服务:adb start -server 关闭adb服务:adb kill -server 查看模拟器/真机:adb devices 安装/卸载/运行程序: 安装 ...

  9. Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份

    前面有两篇文章,<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>和<Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份& ...

  10. Shopex4.85商派2014年商业模板和商业插件共600多套仅售600元送分销王2代SEO排名神具。

    这批shopex商业插 件+模板都是本人从官方模板网站收购.高价.交换.以及收藏得来.本人因现实工作太忙不得不转手出售这批源代码,限时低价出售给和我一样从事shopex 系统网店电子商务的兄弟姐妹们, ...