Android 入门






4.64/5 (5投票s)
Android 入门和 Android 架构概述
引言
大家好,今天我将再次为大家介绍 Android 操作系统的概览。在讨论过程中,我将涵盖以下几点:
- Android 简介。
- Android 操作系统的历史。
- Android 操作系统的版本。
- Android 的功能。
- 与其他移动平台的比较。
- Android SDK 的高层架构。
- Android Activity 的生命周期。
Android 简介
Android 是一个基于 Linux 内核的移动操作系统。该操作系统专为触摸屏智能手机和平板电脑设计。早期的设计是为了支持触摸输入、游戏、相机等。
Android 设备是目前最畅销的产品。Android 源代码由 Google 在其开源许可下发布。许多公司将其操作系统用于自己的设备,这使得这些设备成本更低,技术含量更高,并在智能手机市场比 iOS 和 Windows 更受欢迎。“Android 是第一个硬件独立的移动操作系统。”
Android 历史
Android 公司由 Andy Rubin、Rich Miner、Nick Sears 和 Chris White 于 2003 年 10 月在加利福尼亚州帕洛阿尔托成立。后来,Google 于 2007 年 8 月收购了 Android 公司。Google 收购后,Andy、Miner 和 White 以及一些资源留在了公司。
第一款基于 Android 的智能手机 HTC HTC Dream 于 2008 年 10 月推出。随后,Google 推出了 Nexus 系列,三星推出了 Galaxy 系列,均搭载不同版本的 Android 操作系统。如今,Google Play 商店中有数百万款应用程序可供 Android 用户使用。
在开发方面,Android SDK 更加灵活,易于部署到实际设备上。因此,开发人员可以在开发生命周期中轻松地在实际场景中测试其应用程序。
Android 版本
自 2009 年 4 月以来发布的 Android 不同版本如下所示。
- Android Alpha (1.0)
- Android Beta (1.1)
- Cupcake (1.5)
- Doughnut (1.6)
- Eclair (2.0–2.1)
- Froyo (2.2–2.2.3)
- Gingerbread (2.3–2.3.7)
- Honeycomb (3.0–3.2.6)
- Ice Cream Sandwich (4.0–4.0.4)
- Jelly Bean (4.1–4.3.1)
- KitKat (4.4–4.4.4)
- L Release (开发者预览版)
Android 功能
Android 功能列表如下
- 消息: 短信、彩信、文本消息、C2DM、GCM、电子邮件、推送电子邮件、即时消息。
- 网页浏览器: 支持网页浏览器(内置浏览器为 Chrome),也支持 HTML 5。
- 语音功能: 支持语音操作,可以通过语音命令在 Google 中进行搜索,搜索任何应用程序,从联系人列表中搜索联系人,通过语音命令拨打电话,通过语音命令发送短信等。
- 多点触控: 原生支持多点触控。
- 多任务处理: 应用程序的多任务处理,例如一边玩游戏一边听歌就是一种多任务处理。
- 屏幕截图: 我们可以截取设备屏幕的截图。
- 视频通话: 良好支持 Skype 和其他支持视频通话的应用程序。
- 多语言支持: Android 支持多种语言。
- 连接性: 它支持多种连接技术,如 WIFI、GSM/EDGE、蓝牙、LTE、CDMA、EV-DO 等。它还支持 网络共享(允许设备作为 Wi-Fi 热点工作)。
- 媒体支持: MP3、WAV、eAAC+、MP4、H.264、H.263、JPEG、PNG、GIF、BMP 等。
- 外部存储: 支持 micro SD 卡,格式为 FAT32、Ext3 和 Ext4 文件系统等。
- 传感器支持: 加速度计、接近传感器、指南针、陀螺仪、气压计、磁力计以及压力传感器。
- 其他支持: 触摸屏、GPS、专用游戏控制器、温度计等。
- 数据库支持: SQLite 数据库。
与其他移动平台的比较
以下是 Android 操作系统独有的一些功能。
Android 支持文件系统,您可以通过 USB 功能轻松地通过电脑访问。它还提供离线地图功能、USB 支持,并且“开发者可以在应用程序开发周期中使用他们的 Android 设备,而无需任何许可,就像在 Windows Phone 开发和 iOS 开发中,您需要获得开发者许可才能将应用程序部署到手机上。这是 Android 最棒的地方,我可以这么说”,我将在接下来的文章中详细介绍这一点。
我在这里找到了一张非常好的比较表:此处。根据我的经验,我在下表中更正了 Windows 功能列表。它将涵盖多个移动操作系统平台的主要功能。我认为现在苹果、微软和谷歌之间正在展开一场战争,这些品牌是智能手机设备背后的关键参与者。
IOS 6 | Android 4.1 | Windows 8 | Windows 7.8 | ||
应用程序 | 650,000+ | 600,000+ | 100,000+ | 100,000+ | |
多任务处理 | 是 有限 |
是 | 是 有限 |
是 有限 |
|
组件 (Widgets) | 否 | 是 | 可扩展 动态磁贴 |
可扩展 动态磁贴 |
|
可扩展存储 | 否 | 是 | 是 | 是 | |
多核处理器 | 是 | 是 | 是 | 是 | |
高分辨率显示屏 | 是 | 是 | 是 | 是 | |
文件管理器 | 否 | 是 | 否 | 否 | |
拖放文件管理 | 否 需要 iTunes |
是 | 否 需要 Zune |
否 需要 Zune |
|
智能语音助手 | 是 | 是 带 Google Now |
是 | 是,但有限 | |
侧载应用 | Cydia | 是 许多渠道 |
否 | 否 | |
集中式通知 | 是 下拉面板 |
是 下拉面板 |
是 | 无 | |
Flash 支持 | 是 | 是 | 是 | 是 | |
原生截图 | 是 | 是 | 否 | 否 | |
离线地图 | 否 付费应用 |
是 | 是 | 否 仅限 Lumia |
|
核心 | Darwin | Linux | Windows NT | Windows CE 7 | |
USB 主机 | 有限 通过相机连接套件 |
是 | ? | ? |
Android SDK 的高层架构
正如大家所听说的 Android SDK。我还要再说几句关于 NDK 和 ADK 的话。
NDK 代表 Native Development Kit,如果您想使用 C/C++ 等原生语言操作核心库,那么请使用它。它主要用于提高游戏应用程序等应用程序的性能。要了解更多信息,请参阅此处。
ADK 代表 Accessory Development Kit。如果您想为 Android 构建一些创新的配件,那么请去获取它。有关更多详细信息,请参阅此处。
SDK 代表 Software Development Kit,或者您可以说它是一个包含多个内置库的软件包,让您可以自由地开发现有世界中的任何东西。
让我来谈谈 Android 操作系统的架构。Android 架构分为四层。
- 内核层
- 原生层
- 应用框架层
- 应用层。
内核层:你可以说这一层就像你的 Android 设备的心脏。众所周知,Android 操作系统是基于 Linux 内核的,它包含设备驱动程序的信息(“驱动程序是用于与硬件交互的本地软件程序。”)你不能直接与这一层交互。它负责所有的硬件交互,或者你可以说它在 UI 和硬件(如 WIFI 设备、蓝牙、摄像头等)之间扮演着调解者的角色。它还负责电源管理、内存管理等。这一层的图示如下。
原生层: 这一层包含 Android 操作系统的原生库,主要负责处理来自原生 UI 的输入请求,例如 UI 图形的渲染是 SGL 和 OpenGL 库的职责。这一层的图示如下。
- Surface Manager:用于渲染视图。
- SGL:2D 图形
- Open GL|ES:3D 库
- Media Framework:用于播放和录制各种音频、视频和图片格式。
- Free Type:字体渲染。
- WebKit:浏览器引擎
- libc:原生 C 库。
- SQLite:数据库
- Open SSL:用于支持 SSL 和 TLS 协议。点击此处了解更多信息。
Android Runtime 由 Dalvik 虚拟机 (DVM) 和核心 Java 库组成。DVM 与 Java 虚拟机 (JVM) 相同,负责许多事情,例如运行字节码、内存管理、线程管理等。它在 .dex 文件上运行。
Android 应用程序的打包和概览图如下。
应用框架层:这一层负责手机的基本功能,如位置管理、通知管理等。我们的应用程序直接与这一层交互,以执行各种操作,例如查找位置应用程序使用 Location Manager。
下面是应用框架层的图示:
应用框架的一些重要模块是
- Activity Manager – 负责应用程序生命周期。
- Content Providers – 负责在应用程序之间共享数据。
- Resource Manager – 负责 UI 资源,如布局、颜色、字体等。
- Notifications Manager – 负责通知和警报。
- View System – 用于为用户界面创建一组视图。
- Package Manager – 用于查找设备上已安装应用程序的信息。
- Telephony Manager – 负责电话服务和提供商信息。
- Location Manager – 负责使用 GPS 和网络服务查找设备位置。
应用层:它是 Android 操作系统的最顶层,包含原生应用、第三方应用和混合应用。
Android Activity 的生命周期
以下是 Android Activity 生命周期图。
让我逐一解释 Activity 方法。当你创建你的第一个 Android 项目时,它会创建一个继承自 Activity 类的主要类,所有这些方法都是 Activity 类的成员。
- onCreate():当 Activity 初始创建时调用,你可以在这里初始化你的视图组件并注册你的视图事件,你也可以在这里绑定你的视图组件,例如 ListView 等。
- onStart():当 Activity 对用户可见时调用。如果 Activity 进入前台,则紧接着调用 onResume()。如果它变为隐藏,则调用 onStop()。
- onRestart():当你的 Activity 被停止并尝试调用 onStart() 时,总是会调用它。
- onResume():当你的应用程序应该从暂停状态重新开始时调用。例如,假设你正在设备上玩游戏,突然有人打电话给你,那么该游戏 Activity 将调用 onPause() 状态或进入前台状态,并为你创建一个新的 Activity,一旦你挂断电话,系统会要求你恢复游戏。
- onPause():当你的系统想要恢复上一个 Activity 时调用,就像我之前给的游戏示例一样。
- onStop():当你试图停止你的 Activity 并启动新的 Activity 或恢复另一个 Activity 时,它会被强制调用。
- onDestroy():它在 Activity 即将被销毁之前调用。例如,如果你想在应用程序销毁之前清除你的数据库或清除一些实例。
点击此处了解更多关于 Activity 的详细信息。
背景
本文提供了 Android 及其组件的概述和简介,您可以参考下面提供的参考文献以获取深入知识。我想说,请关注 Android 开发者网站,它是初学者的最佳指南。我的下一篇文章是关于如何为 Android 设置开发环境,点击此处了解更多信息。
参考文献
- Android 开发者网站
- 《Android 实战》一书
关注点
我试图在这篇文章中涵盖基本要点,以便人们至少了解 Android 操作系统的基础知识,我不会深入介绍组件的详细信息。如果您想深入了解,请参考我提供的参考文献。