0

我正在 Android Studio 中开发一个应用程序。它使用 Amplify 连接到 AWS AppSync。我按照这个指南。当我使用我的架构时,AppSync 响应包含null数据。

package com.example.myappversionfinal2;    

import androidx.appcompat.app.AppCompatActivity;    
import android.os.Bundle;
import android.util.Log;    

import com.amazonaws.mobile.client.AWSMobileClient;
import com.amazonaws.mobile.client.Callback;
import com.amazonaws.mobile.client.UserStateDetails;

import com.amplifyframework.api.aws.AWSApiPlugin;
import com.amplifyframework.api.graphql.GraphQLResponse;
import com.amplifyframework.api.graphql.MutationType;
import com.amplifyframework.core.Amplify;
import com.amplifyframework.core.ResultListener;
import com.amplifyframework.datastore.generated.model.Projectslist;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        AWSMobileClient.getInstance().initialize(getApplicationContext(), new Callback<UserStateDetails>() {
            @Override
            public void onResult(UserStateDetails userStateDetails) {
                try {
                    Amplify.addPlugin(new AWSApiPlugin());
                    Amplify.configure(getApplicationContext());
                    Log.i("ApiQuickstart", "All set and ready to go!");
                    createProject();
                } catch (Exception e) {
                    Log.e("ApiQuickstart", e.getMessage());
                }
            }

            @Override
            public void onError(Exception e) {
                Log.e("ApiQuickstart", "Initialization error.", e);
            }
        });
    }

    private void createProject() {
        Projectslist blog = Projectslist.builder()
            .projId("hiewf")
            .projName("qwerty")
            .build();

        Amplify.API.mutate(
            blog,
            MutationType.CREATE,
            new ResultListener<GraphQLResponse<Projectslist>>() {
                @Override
                public void onResult(GraphQLResponse<Projectslist> response) {
                    Log.i("ApiQuickStart", "Added Blog with id: " + response.getData());
                }

                @Override
                public void onError(Throwable throwable) {
                    Log.e("ApiQuickStart", throwable.getMessage());
                }
            }
        );
    }
}

这是非常简单的代码。但在文档中的示例中,响应包含在 DynamoDB 中创建的博客条目的 ID。

03-16 15:52:31.574 15694-15751/com.example.mincivilappversionfinal2 I/ApiQuickstart: All set and ready to go!
03-16 15:52:31.654 15694-15782/com.example.mincivilappversionfinal2 D/libc-netbsd: [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0
03-16 15:52:31.654 15694-15782/com.example.mincivilappversionfinal2 D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=4; ai_family=0
03-16 15:52:31.664 15694-15782/com.example.mincivilappversionfinal2 D/libc-netbsd: [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0
03-16 15:52:31.664 15694-15782/com.example.mincivilappversionfinal2 D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=1024; ai_family=0
03-16 15:52:31.884 15694-15782/com.example.mincivilappversionfinal2 I/System.out: propertyValue:false
03-16 15:52:32.004 15694-15709/com.example.mincivilappversionfinal2 I/art: CheckpointMarkThreadRoots callback created = 0xb849b158
03-16 15:52:32.024 15694-15709/com.example.mincivilappversionfinal2 I/art: CheckpointMarkThreadRoots callback created = 0xb84bec18
03-16 15:52:32.674 15694-15782/com.example.mincivilappversionfinal2 I/ApiQuickStart: Added Blog with id: null

知道有什么问题吗?我需要帮助!

4

0 回答 0