Android Studio错误:无法解析符号CreateTodoInput和CreateTodoMutation

问题描述 投票:-1回答:2

我正在尝试使用AWS Amplify CLI构建Android应用程序。我正在使用文档 - https://aws-amplify.github.io/docs/android/start?ref=amplify-android-btn,但我得到Android Studio错误:Cannot resolve symbol CreateTodoInput and CreateTodoMutation

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

我可以在Can not resolve symbol CreateTodoInput看到类似的问题 - 但提供的答案并没有解决我的问题

我的整个代码都在MainActivity.java .PFB中

    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
2个回答
0
投票

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


0
投票

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


0
投票

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

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

至少,这对我来说是错误的,试一试。

© www.soinside.com 2019 - 2024. All rights reserved.