【问题标题】:Android Studio Error : Cannot resolve symbol CreateTodoInput and CreateTodoMutationAndroid Studio 错误:无法解析符号 CreateTodoInput 和 CreateTodoMutation
【发布时间】:2019-02-07 18:11:44
【问题描述】:

我正在尝试使用 AWS Amplify CLI 构建 Android 应用程序。

我关注the AWS documentation。但是,我在 Android Studio 中收到此错误:

无法解析符号 CreateTodoInput 和 CreateTodoMutation

我已将文档中存在的所有依赖项粘贴到我的应用程序和项目 Gradle 文件中。

我发现了一个类似的问题 (Can not resolve symbol CreateTodoInput),但提供的答案并不能解决我的问题。

我的整个代码在MainActivity.java:

package com.example.testamplify;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import com.amazonaws.mobile.config.AWSConfiguration;
import com.amazonaws.mobileconnectors.appsync.AWSAppSyncClient;
import com.apollographql.apollo.GraphQLCall;
import com.apollographql.apollo.exception.ApolloException;

import javax.annotation.Nonnull;

public class MainActivity extends AppCompatActivity {
    private AWSAppSyncClient mAWSAppSyncClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mAWSAppSyncClient = AWSAppSyncClient.builder()
            .context(getApplicationContext())
            .awsConfiguration(new AWSConfiguration(getApplicationContext()))
            .build();
        runMutation();
    }

    public void runMutation() {
        CreateTodoInput createTodoInput = CreateTodoInput.builder()
            .name("Use AppSync")
            .description("Realtime and Offline")
            .build();
        mAWSAppSyncClient
            .mutate(CreateTodoMutation.builder()
                .input(createTodoInput).build()
            )
            .enqueue(mutationCallback);
    }

    private GraphQLCall.Callback<CreateTodoMutation.Data> mutationCallback =
        new GraphQLCall.Callback<CreateTodoMutation.Data>() {
            @Override
            public void onResponse(@Nonnull Response<CreateTodoMutation.Data> response) {
                Log.i("Results", "Added Todo");
            }

            @Override
            public void onFailure(@Nonnull ApolloException e) {
                Log.e("Error", e.toString());
            }
        };
}

【问题讨论】:

    标签: amazon-web-services android-studio aws-amplify


    【解决方案1】:

    将我的项目与 gradle 文件同步解决了这个问题!

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,因为我是新手并且也在尝试这个问题。我认为 CreateTodo 是一种变量。下载这个由 AWS 提供的 android 应用程序示例,找到 here。打开第 77 行的 ListEventsActivity。您将看到相同的代码,希望它可以帮助您理解,对我有所帮助。

      【讨论】:

      • 感谢 Mago Lups - 我检查了 ListEventsActivity,第 77 行 - private GraphQLCall.Callback&lt;ListEventsQuery.Data&gt; eventsCallback = new GraphQLCall.Callback&lt;ListEventsQuery.Data&gt;() { 。但我没有得到我需要对我的代码进行哪些更改才能解决我的问题
      【解决方案3】:

      重试教程,当你使用amplify add api时,放大推送后。

      它会询问关注Do you want to generate code for your newly created GraphQL API。一开始我选择了no,并没有生成文件夹graphql。

      所以,当提示询问时

      Do you want to generate code for your newly created GraphQL API

      您必须回答是并使用默认值进行配置。

      至少,我错了,试一试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-29
        • 1970-01-01
        • 1970-01-01
        • 2015-03-03
        • 2015-03-03
        • 1970-01-01
        • 2018-05-03
        相关资源
        最近更新 更多