第一课 安卓介绍及概念 走进安卓
概念图

Android 的由来
- Andy Rubin(安迪·鲁宾) 1963年生于纽约州镇。
- 1989年,Andy Rubin 加入苹果公司。
- 1990年,苹果的手持设备部门独立出来,两年后,安迪·鲁宾选择加入。
- 1997年,安迪·鲁宾加入微软公司,雄心勃勃地开始了他的超级机器人项目。
- 不久,安迪·鲁宾离开微软,与他的工程师朋友们继续把玩各种机器人和新设备,
这就是Danger的前身。 - 2002年决定成立一家叫 “ Android ” 的公司。
- 2005年谷歌收购了 Android 公司,安迪·鲁宾成为Google移动平台副总裁、Android主管,ndroid平台创始人。安迪·鲁宾是Google的工程师副总裁。
- 2014年10月30日,谷歌宣布,安迪·鲁宾将从谷歌离职。

定义:
Android是由Google公司推出的基于Linux开源的移动操作系统。
外延
- MIUI (小米操作系统)
- Smartisan OS (锤子操作系统)
- Emotion UI (华为操作系统)
Android的特点
1. 系统开源
-
Android由于最底层使用Linux内核,使用的是GPL(公共授权)许可证,也就意味着相关的是必须开源的。
-
2007年Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良。
-
手机厂商无需自行开发手机操作系统,采用Android系统,可以按照自己的目的进行深度定制。
-
对于开发者来说,开源使得安卓是一个更适合研究与魔改的系统,而不受到不开源系统的限制。
2. 跨平台
- 由于使用Java进行开发,Android继承了Java跨平台的优点。任何Android应用几乎无需任何修改就能运行于所有的Android设备。
- 允许各个Android厂商可以自行使用各种各样的硬件设备;而且不仅仅局限于手机,平板、手环、甚至电视和各种智能家居都在使用Android。
- Android在系统运行库层实现了一个硬件抽象层,向上对开发者提供了硬件的抽象,从而实现跨平台,向下也极大地方便了Android系统向各式设备的移植。
3. 硬件丰富
- 由于Android的开放性,很多厂商在android的基础上加以改造,推出功能特色各具的各种产品,用户体验也不断丰富。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。
4. 方便开发
- 由于android的开放性使得第三方开发商可以自由的开发需要的软件,众多的开源代码库也使得开发变得更加简单方便。
Android发展史




Android系统架构

Linux内核驱动

Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,
网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件栈之间的抽象层。
中间层

Android的核心库中 ,包含一些C/C++库,这些库能被Android系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
中间层(系统运行库)

核心库包括,系统管理库,负责把2D或3D内容显示到屏幕;媒体库,负责支持图像,
支持多种视频和音频的录制和回放;SQlite 数据库,
一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等。
中间层(系统运行库)

Android 运行环境主要指的虚拟机技术-Dalvik。
Dalvik虚拟机区别于Java虚拟机的是,每一个Android 应用程序都在它自己的进程中运行,
都有一个属于自己的Dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,
程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。
应用程序框架层

- Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。
- 由于上层的应用程序是以JAVA构建的,因此本层次提供的首先包含了UI程序中所需要的各种控件。
- 丰富而又可扩展性的视图(Views),可以用来构建应用程序;
- 内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据
(如联系人数据库), 或者共享它们自己的数据; - 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件。
- 通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
- 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
应用程序层

- Android的应用程序主要是用户界面方面的,通常以JAVA程序编写,
其中还可以包含各种资源文件,JAVA程序及相关资源经过编译后,将生成一个APK包。 - Android 系统会内置一些应用程序包包括email 客户端,SMS 短消息程序,日历,地图,浏览器,
联系人管理程序等。所有的应用程序都是使用JAVA 语言编写的。
DVM
DVM是Google专门为Android平台开发的、可执行.dex文件的虚拟机。
Android运行机制

JVM和DVM的区别

开发工具

AndroidSDK
回顾JDK
- JDK是Sun公司针对Java开发人员发布的,包括Java运行时环境(JRE)、Java开发工具和类库内的java开发工具包。
- 它提供了编译、运行Java程序所需要的各种工具和资源。
- 它包括Java的运行环境、Java开发工具和类库。
AndroidSDK定义
Android SDK是Android专属的软件开发工具包。
Android SDK目录

Android Studio介绍
-
Android Studio 是谷歌推出基于IDEA的一个Android集成开发工具,
主要用于开发和调试。 -
Android Studio 运行速度更快,UI更漂亮,更加智能,
整合了Gradle构建工具,强大的UI编辑器,更加完善的插件系统,
完美整合了版本控制系统。

下载Android Studio





如何整合开发工具

如何配置Android Studio






项目开发流程
JAVA开发流程

Android项目的开发流程

如何创建Android工程



现有工程使用




Android模拟器






ADB工具
Android SDK中可以直接操作管理Android模拟器或者真实的Andriod设备的工具
配置环境变量




ADB命令

ADB命令的作用

Android工程的目录结构
整个工程的目录结构

app应用的目录结构

app应用中的资源文件夹目录结构

希望对刚入门Android的小猿们有所帮助
本文介绍了Android操作系统的历史、特点、系统架构和开发工具。Android由Andy Rubin创立,后来被谷歌收购,成为一个开源且跨平台的系统。其特点是开源、跨平台、硬件丰富和方便开发。Android系统包括Linux内核、中间层、应用程序框架和应用程序层。开发工具主要包括Android SDK和Android Studio,后者是集成开发环境,用于创建和调试Android应用。文章还涉及了Android工程的目录结构和开发流程。
1686

被折叠的 条评论
为什么被折叠?



