Я обрабатываю процесс 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());
}
});
}
});
}
}