Android - 概览
Android - 概览
Section titled “Android - 概览”什么是 Android?
Section titled “什么是 Android?”Android 是一个基于 Linux 的开源操作系统,主要为移动设备(如智能手机和平板电脑)设计。它最初由 Android Inc. 开发,该公司于 2005 年被 Google 收购,现在由 Google 和开放手机联盟 (OHA) 领导。如今,Android 也为各种其他设备提供支持,包括智能电视 (Android TV)、可穿戴设备 (Wear OS) 和车载信息娱乐系统 (Android Auto)。
Android 提供了一个丰富的应用框架,允许开发者为全球用户创建创新的应用和游戏。它提供了一种统一的应用开发方法,这意味着开发者可以编写可在各种各样的 Android 设备上运行的应用。
自 2008 年 9 月首次商业发布 Android 1.0 以来,Android 平台已显著发展。它持续接收定期更新,引入新功能、性能改进和安全增强。Android 的源代码(Android 开源项目 - AOSP)在开源许可下提供,主要是 Apache License 2.0。
为什么选择 Android?
Section titled “为什么选择 Android?”由于以下几个关键因素,Android 已成为全球使用最广泛的移动操作系统:
- 开放性和定制性: 作为开源系统,Android 允许制造商为其设备定制系统,也允许开发者深入访问平台能力。
- 庞大的用户群体: Android 为全球数十亿设备提供支持,为应用提供了巨大的潜在用户群。
- 丰富的开发环境: 谷歌提供了强大的工具,如 Android Studio(官方 IDE)和 Android SDK,以及全面的文档和社区支持。
- Google Play 商店: 一个庞大的应用分发和变现市场,覆盖几乎所有国家的用户。
- 与 Google 服务集成: 与流行的 Google 服务(如 Gmail、Maps、Drive 和 Firebase)无缝集成。
- 硬件多样性: Android 可运行在众多制造商的各种硬件上,提供不同价格点和外形的设备选择。
Android 的特性
Section titled “Android 的特性”Android 是一个功能强大的操作系统,包含诸多特性,可提供丰富的应用体验。主要特性包括:
| 序号 | 特性与描述 |
|---|---|
| 1 | 现代 UI 与 Material Design Android 提供直观的用户界面框架。Material Design(及其最新迭代 Material You)为创建视觉吸引力强且一致的 UI 提供了指南和组件。Jetpack Compose 允许使用 Kotlin 进行声明式 UI 开发。 |
| 2 | 连接性 支持多种连接选项:GSM/EDGE、CDMA、EV-DO、UMTS/HSPA+、LTE、5G、Wi-Fi(包括 Wi-Fi 6/6E)、蓝牙(包括 BLE)、NFC 和 Wi-Fi Direct。 |
| 3 | 存储 使用 SQLite 存储结构化数据。Jetpack Room Persistence Library 是推荐的基于 SQLite 的抽象层。还支持文件系统存储、用于键值对的 SharedPreferences 和云存储集成。 |
| 4 | 媒体支持 广泛支持各种音频、视频和图像格式(例如 H.264、HEVC、AV1、AAC、MP3、Ogg Vorbis、JPEG、PNG、WebP、AVIF、HEIF)。提供用于媒体播放、录制和流媒体的 API。 |
| 5 | 消息传递 通过各种应用支持 SMS、MMS 和 Rich Communication Services (RCS)。 |
| 6 | 网页浏览器 (WebView) 应用可以使用 WebView 组件嵌入网页内容,该组件基于 Chromium 的渲染引擎,支持 HTML5、CSS3 和 JavaScript 等现代 Web 标准。 |
| 7 | 多点触控与手势 原生支持多点触控屏幕和丰富的手势系统,实现直观的用户交互。 |
| 8 | 多任务处理 允许用户无缝切换应用,应用可在后台运行(受系统优化以延长电池寿命的影响)。 |
| 9 | 可调整大小的 Widgets 应用 Widgets 可以嵌入到其他应用(如主屏幕)中,用户可以调整其大小。 |
| 10 | 多语言与无障碍功能 全面支持多种语言,包括双向文本 (RTL)。提供强大的无障碍功能和 API,使残障人士也能使用应用。 |
| 11 | Firebase Cloud Messaging (FCM) 一种跨平台消息解决方案(前身为 Google Cloud Messaging - GCM),允许开发者向 Android、iOS 和 Web 用户发送通知和数据消息。 |
| 12 | 附近分享 (Nearby Share) 一项功能,允许用户立即与附近的 Android 设备分享文件、链接等,类似于 Apple 的 AirDrop。取代了 Android Beam。 |
| 13 | 安全特性 包括应用沙盒、安全启动、加密、权限系统和定期安全更新等功能,以保护用户数据和设备完整性。 |
| 14 | 生物识别认证 支持指纹、面部和虹膜识别,以实现安全认证。 |
Android 应用
Section titled “Android 应用”Android 应用主要使用 Kotlin(官方推荐语言)或 Java 开发,利用 Android Software Development Kit (SDK) 和 Android Studio。C/C++ 也可以通过 Android Native Development Kit (NDK) 用于应用的性能关键部分。
开发完成后,Android 应用会打包为 APK (Android Package Kit) 或 AAB (Android App Bundle) 文件。它们可以通过多种渠道分发,其中 Google Play 商店是主要渠道。其他应用商店包括 Amazon Appstore、Samsung Galaxy Store 以及其他制造商的平台专属商店。
Android 为全球 190 多个国家的数十亿移动设备提供支持,是任何移动平台中安装量最大的。其生态系统持续快速增长,开发者不断创造新的创新应用。
本教程旨在教你如何开发和打包现代 Android 应用,从搭建开发环境开始,逐步探索 Android 应用开发的各个方面,并采用最新的最佳实践。
Android 应用类别
Section titled “Android 应用类别”Android 应用涵盖广泛的类别,满足不同的用户需求。一些热门类别包括:
- 通讯类(例如消息应用、社交媒体、电子邮件)
- 效率类(例如办公套件、笔记、任务管理)
- 娱乐类(例如游戏、视频流媒体、音乐播放器)
- 生活方式类(例如健身、旅行、美食饮品)
- 工具与实用工具类(例如文件管理器、安全应用、定制工具)
- 教育与参考类
- 金融与商务类
- 健康与健身类
- 购物类
- 摄影与视频编辑类
Android 版本简史(代号)
Section titled “Android 版本简史(代号)”Android 版本通常按照字母顺序使用甜点或糖果命名。以下是一些值得注意的版本:
- Android 1.0(无代号,API 1)- 2008
- Android 1.5 Cupcake(API 3)- 2009
- Android 1.6 Donut(API 4)- 2009
- Android 2.0/2.1 Eclair(API 5-7)- 2009/2010
- Android 2.2 Froyo(API 8)- 2010
- Android 2.3 Gingerbread(API 9-10)- 2010
- Android 3.0/3.1/3.2 Honeycomb(API 11-13)- 2011(仅限平板)
- Android 4.0 Ice Cream Sandwich(API 14-15)- 2011(统一手机和平板 UI)
- Android 4.1/4.2/4.3 Jelly Bean(API 16-18)- 2012/2013
- Android 4.4 KitKat(API 19-20)- 2013
- Android 5.0/5.1 Lollipop(API 21-22)- 2014(引入 Material Design)
- Android 6.0 Marshmallow(API 23)- 2015(运行时权限)
- Android 7.0/7.1 Nougat(API 24-25)- 2016(多窗口支持)
- Android 8.0/8.1 Oreo(API 26-27)- 2017(Project Treble, 通知渠道)
- Android 9 Pie(API 28)- 2018(手势导航,数字健康)
- Android 10(API 29)- 2019(系统范围暗色主题,改进隐私控制)
- Android 11(API 30)- 2020(气泡,一次性权限,对话通知)
- Android 12(API 31-32)- 2021(Material You,隐私面板,大概位置)
- Android 13(API 33)- 2022(按应用设置语言偏好,主题化应用图标,照片选择器)
- Android 14(API 34)- 2023(改进系统健康,隐私和安全增强,定制功能)
什么是 API Level?
Section titled “什么是 API Level?”API Level 是一个整数值,用于唯一标识特定 Android 平台版本提供的框架 API 修订版本。应用通过声明 targetSdkVersion 来表明它们设计和测试所针对的 API level,并通过声明 minSdkVersion 来指定运行所需的最低 API level。
下表显示了最新的 Android 版本、它们对应的 API Level 和版本代码 (VERSION_CODE Constant,Android 内部使用):
| 平台版本 | API Level | VERSION_CODE 常量 |
|---|---|---|
| Android 14 | 34 | UPSIDE_DOWN_CAKE |
| Android 13 | 33 | TIRAMISU |
| Android 12L | 32 | S_V2 |
| Android 12 | 31 | S |
| Android 11 | 30 | R |
| Android 10 | 29 | Q |
| Android 9 | 28 | P |
| Android 8.1 | 27 | O_MR1 |
| Android 8.0 | 26 | O |
| Android 7.1 | 25 | N_MR1 |
| Android 7.0 | 24 | N |
| Android 6.0 | 23 | M |
开发者使用 minSdkVersion 来确保他们的应用不会安装在缺少必要 API 的旧平台版本设备上,并使用 targetSdkVersion 来选择启用最新的平台行为和功能。