Ошибка регистрации при попытке зарегистрироваться из приложения Android с помощью AWS Amplify - PullRequest
0 голосов
/ 23 октября 2019

Я обрабатываю процесс SignUp для приложения Android (нативный android), используя пул пользователей AWS-Amplify и Cognito по этой ссылке "https://aws -amplify.github.io / docs / android / authentication # signup".

Я уже сделал, пока усиление не добавит аутентификацию и не увеличит толчок. У меня есть файл конфигурации в моей папке raw. После реализации функции регистрации при попытке зарегистрироваться из моего приложения возникает следующая ошибка:

2019-10-23 19: 40: 05.317 10740-11563 / com.example.myapplication E / login: Ошибка регистрации java.lang.NullPointerException: Попытка вызвать виртуальный метод void com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUserPool.signUp (java.lang.String, java.lang.String, com.amazonaws.mobileconnectitypider .iderCognitoUserAttributes, java.util.Map, com.amazonaws.mobileconnectors.cognitoidentityprovider.handlers.SignUpHandler) 'для ссылки на нулевой объект в com.amazonaws.mobile.client.AWSMobileClient $ 11.run (AWSMobileClient.java: com:.mobile.client.internal.InternalCallback $ 1.run (InternalCallback.java:101) на java.lang.Thread.run (Thread.java:764)

Может ли кто-нибудь просмотреть мой код и посоветоватьвозможная проблема?

package com.example.myapplication;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.amazonaws.mobile.client.AWSMobileClient;
import com.amazonaws.mobile.client.Callback;
import com.amazonaws.mobile.client.UserStateDetails;
import com.amazonaws.mobile.client.results.SignInResult;
import com.amazonaws.mobile.client.results.SignUpResult;
import com.amazonaws.mobile.client.results.UserCodeDeliveryDetails;

import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
    private static final String TAG = login.class.getSimpleName();

    public String username = "";
    public String password ="";
    public String ename = "";
    private EditText usernameInput;
    private EditText passwordInput;
    private EditText emailInput;
    private EditText givenName;
    private EditText familyName;

    private EditText phone;

    private Button signUp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        usernameInput = (EditText) findViewById(R.id.editTextRegUserId);
        passwordInput = (EditText) findViewById(R.id.editTextRegUserPassword);
        emailInput = (EditText) findViewById(R.id.editTextRegEmail);
        signUp = (Button) findViewById(R.id.signUp);

        signUp.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        final String password = passwordInput.getText().toString();
                        final String username = usernameInput.getText().toString();
                        System.out.println("password: " + password);

                        System.out.println("username: " + username);



                final Map<String, String> attributes = new HashMap<>();
                         attributes.put("username", username);

                        System.out.println("default user: " + AWSMobileClient.getInstance());
                        AWSMobileClient.getInstance().signUp(username, password, attributes, null, new Callback<SignUpResult>() {

                              @Override
                              public void onResult(final SignUpResult signUpResult) {
                                  runOnUiThread(new Runnable() {
                                      @Override
                                      public void run() {
                                          Log.d(TAG, "Sign-up callback state: " + signUpResult.getConfirmationState());
                                          if (!signUpResult.getConfirmationState()) {
                                              final UserCodeDeliveryDetails details = signUpResult.getUserCodeDeliveryDetails();
                                              //makeToast("Confirm sign-up with: " + details.getDestination());
                                              Toast toast = Toast.makeText(getApplicationContext(), "Confirm sign-up with: " + details.getDestination(), Toast.LENGTH_LONG);
                                              toast.show();
                                          } else {
                                              //makeToast("Sign-up done.");
                                              Toast toast1 = Toast.makeText(getApplicationContext(), "Sign-up done. ", Toast.LENGTH_LONG);
                                              toast1.show();
                                          }
                                      }
                                  });
                              }

                              @Override
                              public void onError(Exception e) {
                                  Log.e(TAG, "Sign-up error", e);
                                  System.out.println("error: "+ e.getLocalizedMessage());

                              }
                          });
            }

        });
    }
}
...