如何在 Android Studio 中导入从 Apollo Client (GraphQL) 生成的 class
How to import generated class from Apollo Client (GraphQL) in Android Studio
我是 Android studio 的新手,想用 GraphQL 和 Apollo Client.
编写一个小示例应用程序
我已经成功设置了构建环境和自动代码生成。这是文件结构的屏幕截图,build/generated/apollo/AllPostsQuery
是根据 src/main/graphql/AllPosts.graphql
:
自动生成的 class
我现在唯一的问题是我不知道如何将 AllPostsQuery
class 导入我的 MainActivy
.
我只是试了一下:
import AllPostsQuery;
但这不起作用:
Can not resolve symbol AllPostsQuery
.
导入路径需要加前缀吗?
你的项目在问题中的结构方式,你有你的 GraphQL 文档和模式 JSON 直接在 graphql/
中。这将导致您生成的 Java class 不会被放入包中。这可能不是你想要的。
Apollo-Android 采用用于某些其他形式的源代码(Java、AIDL 等)的方法,并使用包目录树。在 this sample project (from this book) 中,我在 graphql/com/commonsware/graphql/trips/api
中有我的 GraphQL 文档和模式 JSON。结果,我生成的 Java classes 在 com.commonsware.graphql.trips.api
包中。
因此,为您希望生成的代码进入的任何 Java 包设置一系列子目录,并将您的 GraphQL 文档和架构 JSON 移到那里。
我是 Android studio 的新手,想用 GraphQL 和 Apollo Client.
编写一个小示例应用程序我已经成功设置了构建环境和自动代码生成。这是文件结构的屏幕截图,build/generated/apollo/AllPostsQuery
是根据 src/main/graphql/AllPosts.graphql
:
我现在唯一的问题是我不知道如何将 AllPostsQuery
class 导入我的 MainActivy
.
我只是试了一下:
import AllPostsQuery;
但这不起作用:
Can not resolve symbol
AllPostsQuery
.
导入路径需要加前缀吗?
你的项目在问题中的结构方式,你有你的 GraphQL 文档和模式 JSON 直接在 graphql/
中。这将导致您生成的 Java class 不会被放入包中。这可能不是你想要的。
Apollo-Android 采用用于某些其他形式的源代码(Java、AIDL 等)的方法,并使用包目录树。在 this sample project (from this book) 中,我在 graphql/com/commonsware/graphql/trips/api
中有我的 GraphQL 文档和模式 JSON。结果,我生成的 Java classes 在 com.commonsware.graphql.trips.api
包中。
因此,为您希望生成的代码进入的任何 Java 包设置一系列子目录,并将您的 GraphQL 文档和架构 JSON 移到那里。