Android Studio Error : Cannot resolve symbol CreateTodoInput and CreateTodoMutation

Android Studio Error : Cannot resolve symbol CreateTodoInput and CreateTodoMutation

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

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

Cannot resolve symbol CreateTodoInput and CreateTodoMutation

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

我发现了一个类似的问题 (),但提供的答案并没有解决我的问题。

我的全部代码在 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());
            }
        };
}

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

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

重试教程,当您使用 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

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

至少,我错了,试一试。