Java/Android:Apollo Android(客户端)
graphql-github-io-zh-Hans生态项目与库
Java/Android:Apollo Android(客户端)
Apollo Android 是一个面向 Android 平台的强类型、支持缓存的 GraphQL 客户端,使用 Java 编写。它帮助开发者在 Android 应用中轻松接入 GraphQL API,并利用编译时验证提升类型安全性与开发效率。
核心特性
- 强类型查询:通过代码生成机制,将 GraphQL 查询映射为类型安全的 Java/Kotlin 模型,减少运行时错误。
- 内置缓存:支持规范化缓存(Normalized Cache),可自动合并和更新已获取的数据,优化离线体验与请求效率。
- Java 原生支持:以 Java 为底层实现,同时兼顾 Kotlin 生态,便于在 Android 项目中集成。
- 灵活的协议支持:兼容 GraphQL 标准特性,支持查询、变更(Mutation)和订阅(Subscription)。
- 与 Android 架构深度集成:提供协程、RxJava 和 LiveData 等异步支持,方便与 Jetpack 组件搭配使用。
快速开始
在项目的 build.gradle 中添加依赖:
groovy
dependencies {
implementation 'com.apollographql.apollo:apollo-runtime:3.8.2'
// 可选:如使用 RxJava 或协程,可添加对应适配器
implementation 'com.apollographql.apollo:apollo-coroutines-support:3.8.2'
}
配置 GraphQL 插件(使用 Android Gradle Plugin 时):
groovy
apply plugin: 'com.apollographql.apollo'
放入 .graphql 文件后,Apollo 会自动生成对应的 Java/Kotlin 类型。随后即可创建客户端并执行查询:
java
ApolloClient client = ApolloClient.builder()
.serverUrl("https://example.com/graphql")
.build();
GetUserQuery query = GetUserQuery.builder()
.userId("123")
.build();
client.query(query)
.enqueue(new ApolloCall.Callback<GetUserQuery.Data>() {
@Override
public void onResponse(@NotNull Response<GetUserQuery.Data> response) {
// 处理响应
}
@Override
public void onFailure(@NotNull ApolloException e) {
// 处理错误
}
});
资源
- GitHub 仓库:https://github.com/apollographql/apollo-android
- 官方文档:https://www.apollographql.com/docs/android/
Apollo Android 是构建现代 Android 应用时连接 GraphQL 后端的高效选择,尤其适合需要严格类型约束和复杂数据缓存的场景。
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
