Files
mkdocs/docs/Google开发文档体系/API参考/Android_API概览.md
2026-01-15 18:21:00 +08:00

16 KiB
Raw Blame History

Android API概览

Android APIApplication Programming Interface是Android平台提供的编程接口集合开发者可以使用这些API来构建Android应用。本文档提供Android API的全面概览。

目录


API分类

Android API按照功能和用途可以分为以下几大类

1. 核心组件API

Android应用的四大核心组件及其相关API

Activity API

  • 用途:用户界面组件,代表应用中的一个屏幕
  • 主要类Activity, AppCompatActivity
  • 核心方法onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()
  • 相关文档核心API - Activity

Service API

  • 用途:后台服务组件,执行长时间运行的任务
  • 主要类Service, IntentService, JobIntentService
  • 核心方法onCreate(), onStartCommand(), onBind(), onDestroy()
  • 相关文档核心API - Service

BroadcastReceiver API

  • 用途:广播接收器,接收系统或应用发送的广播消息
  • 主要类BroadcastReceiver
  • 核心方法onReceive()
  • 相关文档核心API - BroadcastReceiver

ContentProvider API

  • 用途:内容提供者,在不同应用间共享数据
  • 主要类ContentProvider, ContentResolver
  • 核心方法query(), insert(), update(), delete(), getType()
  • 相关文档核心API - ContentProvider

2. UI组件API

View和ViewGroup

  • 用途:构建用户界面的基础组件
  • 主要类View, ViewGroup, TextView, Button, ImageView, RecyclerView
  • 包名android.view.*, android.widget.*

Fragment API

  • 用途模块化的UI片段
  • 主要类Fragment, FragmentManager, FragmentTransaction
  • 核心方法onCreateView(), onViewCreated(), onActivityCreated()
  • 相关文档核心API - Fragment

Material Design组件

  • 用途Material Design风格的UI组件
  • 主要类MaterialButton, MaterialCardView, FloatingActionButton
  • 包名com.google.android.material.*

3. Jetpack API

Jetpack是Android官方提供的库集合包含多个组件

架构组件

  • ViewModel管理UI相关的数据
  • LiveData:可观察的数据持有者
  • RoomSQLite数据库抽象层
  • WorkManager:后台任务管理
  • Navigation:应用内导航
  • 相关文档Jetpack API

UI组件

  • Jetpack Compose声明式UI工具包
  • ViewPager2:页面滑动组件
  • 相关文档Jetpack API

其他组件

  • Data Binding:数据绑定库
  • Lifecycle:生命周期感知组件
  • Paging:分页加载数据
  • 相关文档Jetpack API

4. 系统服务API

系统服务

  • ActivityManagerActivity管理服务
  • WindowManager:窗口管理服务
  • NotificationManager:通知管理服务
  • LocationManager:位置管理服务
  • TelephonyManager:电话管理服务
  • 相关文档系统API

系统功能

  • 权限管理:运行时权限申请
  • 文件系统:文件读写操作
  • 网络通信HTTP/HTTPS请求
  • 传感器:设备传感器数据
  • 相关文档系统API

5. 数据存储API

SharedPreferences

  • 用途:键值对数据存储
  • 主要类SharedPreferences, SharedPreferences.Editor

SQLite数据库

  • 用途:关系型数据库存储
  • 主要类SQLiteDatabase, SQLiteOpenHelper
  • 推荐使用RoomJetpack组件

文件存储

  • 用途:文件读写操作
  • 主要类File, FileInputStream, FileOutputStream

ContentProvider

6. 网络通信API

HTTP客户端

  • HttpURLConnection标准HTTP客户端
  • OkHttp第三方HTTP客户端推荐
  • RetrofitRESTful API客户端推荐

WebSocket

  • 用途:实时双向通信
  • 主要类WebSocket, WebSocketClient

7. 多媒体API

媒体播放

  • MediaPlayer:音频/视频播放
  • ExoPlayer:高级媒体播放器(推荐)

相机

  • Camera API:相机操作(已废弃)
  • CameraX现代相机API推荐

图像处理

  • Bitmap:位图操作
  • Canvas:画布绘制

8. Intent和导航API

Intent API

  • 用途:组件间通信和启动
  • 主要类Intent, IntentFilter
  • 核心方法putExtra(), getExtra(), setAction(), setData()
  • 相关文档核心API - Intent

导航

  • Navigation Component应用内导航Jetpack
  • Deep Linking:深度链接

API版本

Android API按照Android版本进行版本控制每个Android版本对应一个API级别API Level

API级别说明

API级别是一个整数唯一标识Android平台版本的框架API修订版。API级别用于

  • 指定应用支持的最低Android版本
  • 指定应用目标编译的Android版本
  • 判断API是否可用

Android版本与API级别对照表

Android版本 API级别 版本代号 发布时间 主要特性
Android 15 API 35 Vanilla Ice Cream 2024 部分媒体访问、通知权限增强
Android 14 API 34 Upside Down Cake 2023 部分媒体访问、通知权限
Android 13 API 33 Tiramisu 2022 通知权限、运行时权限细化
Android 12L API 32 Snow Cone v2 2022 大屏设备优化
Android 12 API 31 Snow Cone 2021 Material You、隐私面板
Android 11 API 30 Red Velvet Cake 2020 包可见性、分区存储
Android 10 API 29 Quince Tart 2019 分区存储、深色主题
Android 9 API 28 Pie 2018 自适应图标、通知渠道
Android 8.1 API 27 Oreo 2017 通知渠道、后台限制
Android 8.0 API 26 Oreo 2017 通知渠道、后台限制
Android 7.1 API 25 Nougat 2016 多窗口、通知增强
Android 7.0 API 24 Nougat 2016 多窗口、通知增强
Android 6.0 API 23 Marshmallow 2015 运行时权限、Doze模式
Android 5.1 API 22 Lollipop 2015 Material Design
Android 5.0 API 21 Lollipop 2014 Material Design、ART运行时

版本兼容性

minSdkVersion

  • 作用指定应用支持的最低Android版本
  • 设置:在build.gradle中配置
  • 示例minSdkVersion 21支持Android 5.0及以上)

targetSdkVersion

  • 作用指定应用目标编译的Android版本
  • 设置:在build.gradle中配置
  • 示例targetSdkVersion 34目标Android 14

compileSdkVersion

  • 作用指定编译时使用的SDK版本
  • 设置:在build.gradle中配置
  • 示例compileSdkVersion 34使用Android 14 SDK编译

API版本检查

// 检查API级别
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    // API 23 (Android 6.0) 及以上可用
    // 例如:运行时权限
}

// 使用@RequiresApi注解
@RequiresApi(Build.VERSION_CODES.O)
private void useNotificationChannel() {
    // 需要API 26 (Android 8.0) 及以上
}

版本特定API

不同Android版本引入了新的API和功能

Android 6.0 (API 23)

  • 运行时权限:checkSelfPermission(), requestPermissions()
  • Doze模式省电优化

Android 8.0 (API 26)

  • 通知渠道:NotificationChannel
  • 后台限制:后台服务限制

Android 10 (API 29)

  • 分区存储:Scoped Storage
  • 深色主题:系统级深色模式

Android 11 (API 30)

  • 包可见性:<queries>声明
  • 分区存储:强制执行

Android 12 (API 31)

  • Material You动态颜色
  • 隐私面板:权限使用透明化

Android 13 (API 33)

  • 通知权限:运行时申请
  • 运行时权限细化

Android 14 (API 34)

  • 部分媒体访问:细化媒体权限
  • 通知权限增强

API使用指南

1. 查找API文档

官方API参考

Android Studio中的使用

  • 快速文档鼠标悬停在API上查看文档Ctrl+Q / Cmd+J
  • 跳转到定义Ctrl+点击 / Cmd+点击
  • 查看使用示例:右键菜单选择"Find Usages"

2. 理解API文档结构

API文档通常包含以下部分

类概述

  • 类名:类的完整名称
  • 包名:类所在的包
  • 继承关系:类的继承层次
  • 实现接口:类实现的接口
  • 类描述:类的用途和功能说明

常量

  • 常量列表:类中定义的常量
  • 常量值:常量的具体值
  • 常量说明:常量的用途

构造方法

  • 构造方法列表:可用的构造方法
  • 参数说明:构造方法的参数
  • 使用示例:构造方法的使用示例

方法

  • 方法签名:方法名、参数、返回值
  • 方法描述:方法的功能说明
  • 参数说明:每个参数的含义
  • 返回值说明:返回值的含义
  • 异常说明:可能抛出的异常
  • 使用示例:方法的使用示例

相关API

  • 相关类:相关的其他类
  • 相关方法:相关的其他方法

3. API使用步骤

步骤1导入包

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

步骤2检查API可用性

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    // 使用API 23及以上版本的功能
}

步骤3调用API

// 创建Intent
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("key", "value");

// 启动Activity
startActivity(intent);

步骤4处理异常

try {
    // 使用可能抛出异常的API
    File file = new File(path);
    FileInputStream fis = new FileInputStream(file);
} catch (FileNotFoundException e) {
    // 处理异常
    e.printStackTrace();
}

4. 最佳实践

使用最新API

  • 推荐使用最新的稳定API版本
  • 原因新API通常性能更好、功能更强
  • 注意:考虑向后兼容性

版本兼容性处理

// 使用Build.VERSION.SDK_INT检查版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    // 使用Android 8.0及以上版本的API
    NotificationChannel channel = new NotificationChannel(...);
} else {
    // 使用旧版本API或替代方案
}

权限检查

// 使用API前检查权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
        == PackageManager.PERMISSION_GRANTED) {
    // 使用相机API
} else {
    // 请求权限
    ActivityCompat.requestPermissions(this, 
        new String[]{Manifest.permission.CAMERA}, REQUEST_CODE);
}

空值检查

// 检查返回值是否为空
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor != null) {
    try {
        // 使用cursor
        while (cursor.moveToNext()) {
            // 处理数据
        }
    } finally {
        cursor.close();
    }
}

资源释放

// 及时释放资源
@Override
protected void onDestroy() {
    super.onDestroy();
    if (receiver != null) {
        unregisterReceiver(receiver);
    }
    if (cursor != null) {
        cursor.close();
    }
}

5. 常见问题

Q1: 如何知道某个API在哪个版本可用

A: 查看API文档中的"Since"信息,或使用Build.VERSION.SDK_INT检查。

Q2: 如何处理API废弃

A:

  • 查看文档中的@Deprecated注解
  • 查看推荐的替代API
  • 逐步迁移到新API

Q3: 如何查找API的使用示例

A:

  • 查看官方API文档中的示例代码
  • 查看GitHub上的官方示例项目
  • 使用Android Studio的"Find Usages"功能

Q4: 如何调试API调用问题

A:

  • 使用Log输出调试信息
  • 使用Android Studio的调试器
  • 查看异常堆栈信息
  • 检查权限和配置

API参考链接

官方API文档

核心API文档

Jetpack API文档

系统API文档

版本特定文档

Android版本文档

API级别参考

学习资源

官方指南

代码示例

视频教程

工具和资源

开发工具

社区资源

快速参考

常用API快速链接

本地文档

  • 核心API - Activity、Service、BroadcastReceiver、ContentProvider、Fragment、Intent
  • Jetpack API - Jetpack组件API
  • 系统API - 系统服务和功能API

总结

Android API提供了丰富的功能帮助开发者构建功能强大的Android应用。使用API时需要注意

  1. 版本兼容性检查API的最低支持版本
  2. 权限管理使用需要权限的API前先申请权限
  3. 资源管理:及时释放资源,避免内存泄漏
  4. 异常处理:正确处理可能出现的异常
  5. 最佳实践:遵循官方推荐的最佳实践

建议:

  • 定期查看官方API文档获取最新信息
  • 使用Android Studio的代码提示和文档功能
  • 参考官方示例代码学习API使用
  • 关注API的废弃和替代方案

最后更新2024年