Я пытаюсь создать активность регистрации и входа в свое приложение с базой данных Sqlite, у меня нет проблем с активностью регистрации, но у меня проблема в активности входа, она должна работать следующим образом. Баллы:
Когда пользователь нажимает кнопку входа в систему, если EditTexts равны Null, отображается тостовый массаж
Если пароль неверен, отображается тостовый массаж
Если адрес электронной почты неверен, приложение - Cra sh
Это код:
email = name.getEditText().getText().toString().trim();
passwordd = pass.getEditText().getText().toString().trim();
Cursor c = myDB.LoginCheck(email); //select db pass and email
c.moveToFirst();
if (c == null) {
Toast.makeText(this, "invalid ", Toast.LENGTH_LONG).show();
}
else {
name2 = c.getString(0);
pass2 = c.getString(1);
String dr=c.getString(2);
if ( passwordd.equals(pass2)&& email.equals(name2)) {
Toast.makeText(this, "Login", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(this, "invalid ", Toast.LENGTH_LONG).show();
}
emailT.setText("");
passT.setText("");
}
if (email.equals(null) || passwordd.equals(null)){
Toast.makeText(this, "invalid ", Toast.LENGTH_LONG).show();
}
if(email != name2 || passwordd != pass2){
Toast.makeText(this, "invalid ", Toast.LENGTH_LONG).show();
}
Это мое ИСКЛЮЧЕНИЕ:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:402)
at android.view.View.performClick(View.java:4084)
at android.view.View$PerformClick.run(View.java:16966)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)
at android.view.View.performClick(View.java:4084)
at android.view.View$PerformClick.run(View.java:16966)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
at android.database.AbstractCursor.checkPosition(AbstractCursor.java:418)
at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
at com.example.myapplication.loginPage.loginCheck(loginPage.java:106)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)
at android.view.View.performClick(View.java:4084)
at android.view.View$PerformClick.run(View.java:16966)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)