У меня ошибка при регистрации пользователя в моей базе данных. Бэкэнд работает, когда я тестирую его с почтальоном, но я не уверен, как получить данные из Android Studio. Ниже приведена ошибка и мой код:
Я уже посмотрел ответы, но не смог это исправить.
03-14 16:15:21.976 10199-10199/com.example.dms_finalyearproject D/AndroidRuntime: Shutting down VM
03-14 16:15:21.977 10199-10199/com.example.dms_finalyearproject E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.dms_finalyearproject, PID: 10199
**java.lang.NullPointerException: Attempt to invoke interface method 'retrofit2.Call** com.example.dms_finalyearproject.API_Interface.Registration(java.lang.String, java.lang.String, java.lang.String)' on a null object reference
at com.example.dss_yearproject.RegistrationActivity.performRegistration(RegistrationActivity.java:56)
at com.example.dms_finalyearproject.RegistrationActivity$1.onClick(RegistrationActivity.java:41)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Здесь:
public interface API_Interface {
@GET("includes/register.php")
Call<User> Registration(@Query("name") String name, @Query("email") String email, @Query("password") String password);
}
Здесь я проверяю, успешно ли это:
public void performRegistration() {
String user = Username.getText().toString();
String e_email = Email.getText().toString();
String pass = Password.getText().toString();
Call<User> call = MainActivity.api_interface.Registration(user, e_email, pass);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
if (response.body().getResponse().equals("ok")) {
Toast.makeText(getBaseContext(),"Successful", Toast.LENGTH_LONG).show();
} else if (response.body().getResponse().equals("exists")) {
// will add here
} else if (response.body().getResponse().equals("error")) {
// will add here
}
}
@Override
public void onFailure(Call<User> call, Throwable t) {
}
});
Username.setText("");
Email.setText("");
Password.setText("");
}
User.java
public class User {
@SerializedName("response")
private String response;
@SerializedName("name")
private String name;
@SerializedName("email")
private String email;
@SerializedName("password")
private String password;
public String getResponse() {
return response;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
public String getPassword() {
return password;
}
}
public class MainActivity extends AppCompatActivity
public static API_Interface api_interface;
private EditText Username, Email, Password;
private Button registerBtn;
RegistrationActivity registrationActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
api_interface = APIClient.getApiClient().create(API_Interface.class);