问题标签 [apollo-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
901 浏览

graphql - Android apollo subscriptions not working?

I need to integrate subscription in my Android app. The subscription works fine on localhost in graphiql. I have deployed my backend on Heroku. I am using apollo-server and not hasura. My subscriptions are not working for the url given by Heroku but it works fine on localhost. Queries and mutations work fine for both localhost and Heroku url. So I am trying to access my subscription from my Android client. I have kept the base url as my local host. I have configured my Android emulator correctly for localhost and the queries and mutations part works for my Android client but my subscription part is not working.

I have configured my Apollo client for subscription by adding this

My subscription code looks as follows

But I keep getting an error saying Subscription failed Subscription failed java.net.ProtocolException: Expected HTTP 101 response but was '400 Bad Request'

Also when I use Graphiql for my subscription and replace localhost with the Heroku url for my subscription , I get following error.

enter image description here

Are these two issues which I am facing are related to one another?

0 投票
1 回答
202 浏览

kotlin - GraphQL [Apollo-Android]:两个`.watcher().enqueueAndWatch` 创建无限刷新循环

我正在使用我的服务器请求“帖子”列表,enqueueAndWatch它导致无限刷新循环。

两个查询如下:

视图模型已初始化,当我refreshPosts()从帖子片段调用时发生无限循环:

提前致谢!

0 投票
1 回答
317 浏览

vert.x - 带有 Vertx 订阅的 Apollo GraphQL 失败

我在暴露的 docker 实例(窗口机器)上运行 Hasura GraphQL

http://192.168.99.100:8080/v1/graphql

我想在我的 Verticle 中执行订阅,但出现以下异常:

这是我的 apollo graphQL 客户端示例代码:

0 投票
0 回答
1119 浏览

android - 如何在 Apollo GraphQL 客户端 Android 中获取文件上传进度

我一直在寻找在 apollo graphql android 库中显示上传进度的方法。如果有人做过,请分享代码。

0 投票
1 回答
72 浏览

gradle - 是否可以将 apollo-android v2 与 Gradle 5 一起使用?

v2 的文档说

推荐使用 Gradle 6.x。在 5.x 中,需要通过将其放入 settings.gradle enableFeaturePreview("GRADLE_METADATA") 来启用 Gradle 元数据

这表示只推荐使用 6.x,但是当我尝试使用 Gradle 5 时出现错误

有解决方法吗?现在升级到 Gradle 6 不是我的项目的选项。

这是apollo 中的更改,它提高了所需的最低 Gradle 版本

0 投票
1 回答
396 浏览

android - apollo-android 对 express-graphql 的请求总是导致 http 400

当通过 apollo-graphql 提交到 express-graphql webapp 时,我在让最基本的 graphQL 工作时遇到问题。通过 graphiql 的网络请求,一切正常。一旦我尝试使用 apollo-android 客户端,无论我尝试什么,我都会收到 400 个错误。

我的android依赖是:

  • com.apollographql.apollo:apollo-runtime:2.3.1

我的节点依赖项:

  • 快递:4.17.1
  • express-graphql:^0.11.0
  • graphql:^15.3.0

我的基本服务器是:

通过 graphiQL 提交请求,我只是请求“{hello}”并获得成功的响应:

我使用 downloadApolloSchema 任务生成了我的 android 模式文件,我的 graphiql 内容很简单:

我的主要活动是 onCreate():

无论我尝试什么,无论我如何尝试从服务器或 Android 应用程序获取更多详细信息,我能获得的信息量最大的堆栈跟踪是:

这让我发疯,因为我似乎无法更深入地挖掘 400 错误,也不知道为什么这这么难。我已经通过模拟器以及实际设备尝试过这个请求。结果并没有明显改变,因为它是服务器抛出错误。希望这是一个简单的错误!

0 投票
1 回答
964 浏览

android - android.system.ErrnoException: open failed: ENOENT (No such file or directory), 该文件存在于同名路径中

我正在尝试将图像发送到我的 apollo-graphql 服务器,但出现以下错误:

android.system.ErrnoException:打开失败:ENOENT(没有这样的文件或目录)

这是安卓代码:

图片路径:

/document/1804-2E16:DCIM/definicion-de-persona-min.jpg:打开失败:ENOENT(没有这样的文件或目录)

应用权限:

提前致谢。

0 投票
0 回答
183 浏览

android - 为什么从 1.0.0-alpha 升级到 1.0.0 后出现“ApolloParseException”?

我目前正在将旧项目的 Apollo 版本从 1.0.0-alpha 升级到 1.0.0 。

升级后我得到这个异常

但是在我升级之前一切都很好。我从 alpha 升级到 1.0 stable 因为我升级了 Gradle 由于 Firebase Crashlytics migration 。

Apollo alpha 在新的 Gradle 中引发了构建错误。所以我升级到 1.0 并构建成功

但是打开应用程序后,我得到了这个异常

这里的奥秘是=>

okHTTP 日志拦截器打印响应 JSON,它也有效且正确。

但是 Apollo 无法解析它

为什么 apollo 在正确接收到 JSON 时无法解析它?

限制 一件可悲的事情是,由于使用了很多旧包,我无法升级到最新的 apollo 版本,因为旧包与新的 Gradle 6+ 和 apollo 最新版本不兼容需要新的 Gradle。

请帮我

信息:

  • Apollo 版本:1.0(1.0 alpha 之前)
  • Gradle 构建工具:3.6.4
  • 摇篮:5.6.4
  • 科特林:1.3.72

示例查询

响应(来自 okhttp 记录器):

====

阿波罗配置模块:

https://gist.github.com/RageshAntony/86686ebb9557698d8569acec6fc04b42

请帮我解决这个问题

0 投票
1 回答
838 浏览

android - 如何在 GraphQL apollo-android 客户端中获取 HTTP 状态码

我正在使用 apollo 客户端https://github.com/apollographql/apollo-android来查询 Graphql API。在 Graphql 服务器中,我们返回 HTTPS 状态

如何在客户端获取 HTTPS 状态代码作为响应?

客户端代码

我主要想知道错误是客户端异常还是服务器异常。

0 投票
0 回答
195 浏览

kotlin - 无法在 Kotlin Multiplatform 项目中访问 Apollo 类

我刚刚从 Android 工作室创建了一个新的 KMP 项目,添加了此处定义的 Apollo MP: https ://www.apollographql.com/docs/android/essentials/get-started-multiplatform/

这些类是在“commonMain/build/generated/source/apollo”下生成的,但我无法从 commonMain 代码访问它们或任何 Apollo 类(例如 ApolloClient)。

我还注意到 Apollo 也没有出现在外部库项目下。

从上面的相同链接:

在 src/commonMain/graphql 下添加您的 schema.json 和其他 .graphql 文件。构建您的模块,生成的代码将在 commonMain sourceSet 下可用。这意味着您可以在 commonMain 或特定于平台的 Kotlin 代码中使用它们。一旦 Kotlin 插件构建了 iOS 框架,生成的代码甚至可以从 Swift 代码中调用。

我错过了什么?谢谢