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. 通过Request.Form获取同name的checkbox所有值

    转自:http://www.cnblogs.com/Fred_Xu/archive/2013/01/16/how-to-get-the-checkbox-value-from-a-dynamicall ...

  2. Java语言程序设计(基础篇)第二章

    第二章 基本程序设计 2.2 编写简单的程序 1.变量名尽量选择描述性的名字(descriptive name). 2.实数(即带小数点的数字)在计算机中使用一种浮点的方法来表示.因此,实数也称为浮点 ...

  3. 只需三步--轻松反编译Android Apk文件

    安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译A ...

  4. 搜索引擎Solr系列(一): Solr6.2.1环境搭建

     一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通 ...

  5. python爬虫感想

    老师说,能用程序解决一个实际问题,说明已经会使用工具了.今天用python做了一个小爬虫,很幸运,成功了. 有几个难点:就是学会伪装,还有一个觉得打开的方式太多,有点糊涂,正则表达式也要加强了.

  6. 搭建Python+Django开发环境

    第一步:安装python. 常见的windows系统,直接python网站下载 最新的版本python3.5. python安装好之后,配置好环境变量.使得python和 pip命令能够正常使用. 第 ...

  7. c++实验,需要的人都知道是啥

    利用点.线.面的基本知识,声明Point,Line,Friangle,PolyAngle四个类,完成以下功能.Point类功能://实验88888(1) 移动一个点:(2) 显示一个点:(3) 可计算 ...

  8. SQL用先进先出存储过程求出库数量

    create table t( id ,), name ),--商品名称 j int, --入库数量 c int, --出库数量 jdate datetime --入库时间 ) ,,'2007-12- ...

  9. HDU - 1875 畅通工程再续

    Problem Description 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府决定大力发展百岛湖,发展首先要解决的问 ...

  10. idea转eclipse 设置注意。

    下载适合的eclipse