我在Android应用程序中使用AWS AppSync
,并通过this链接访问,但是我已经在AppSync中创建了API,希望将其导入到Android应用程序中。我正在使用Amplify
链接应用。
答案 0 :(得分:1)
好。结果发现AppSync
中的查询是由不熟悉命名约定的开发人员创建的,他在查询中加上了“ _”(下划线),这些查询由Amplify
处理,它仅删除type
,mutation
和query
名称中的所有_,而不删除其中的方法。例如,
type Query {
getDaily_Build(id: ID!): Daily_Build
}
AppSync中的在Android的queries.graphql
中生成以下查询
query GetDailyBuild($id: ID!) {
getDaily_Build(id: $id) {
id
username
title
}
}
这给出了错误
验证GraphQL查询文档失败。
我按照命名约定更改了架构,并避免使用特殊字符(例如“ _”),并且现在可以正常使用了。
答案 1 :(得分:0)
您是否已在gradle文件中配置了所有必需的插件和库。
apply plugin: 'com.amazonaws.appsync'
implementation 'com.amazonaws:aws-android-sdk-appsync:2.6.+'
implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'
implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
并且在清单中,您需要具有以下权限。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
,并且您需要在应用程序标记中提供以下服务。
<service android:name="org.eclipse.paho.android.service.MqttService" />