Search code examples
amazon-web-servicesandroid-studioaws-amplify

Android Studio Error : Cannot resolve symbol CreateTodoInput and CreateTodoMutation


I am trying to build an Android app using AWS Amplify CLI.

I am following the AWS documentation. However, I am getting this error, in Android Studio:

Cannot resolve symbol CreateTodoInput and CreateTodoMutation

I have pasted all the dependencies as present in the documentation in my app and project Gradle files.

I found a similar question (Can not resolve symbol CreateTodoInput), but the answer provided doesn't resolve my issue.

My entire code is in 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());
            }
        };
}

Solution

  • Syncing my project with gradle files resolved the issue !!