В этом приложении на экране входа есть 3 кнопки: забыть пароль, войти и зарегистрироваться. Явное намерение зарегистрироваться работает правильно, но если забыть пароль, приложение принудительно закрывается.
LoginPage .java
также при входе в систему, даже если мое имя и пароль верны, приложение принудительно закрывается, я думаю, что может быть какая-то проблема в DBHelper.java
DBHelper .java
forgetpass.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(LoginPage.this,ForgetPasswordPage.class);
startActivity(intent);
}
});
В приведенном выше фрагменте намерение не работает должным образом: при первом нажатии приложение автоматически сворачивается, а при повторном нажатии оно полностью завершает работу.
В этом приложении на экране входа есть 3 кнопки: забыть пароль, войти и зарегистрироваться. Явное намерение зарегистрироваться работает правильно, но если забыть пароль, приложение принудительно закрывается. LoginPage .java [code]package com.example.myapplication;
if (!password.equals(rePassword)) { repass.setError("Password dose not match"); pass.setError("Password dose not match"); } else if (!dbHelper.checkUsername(username)) { uname.setError("User dose not exist"); } else if (password.equals(rePassword) && dbHelper.checkUsername(username)) { dbHelper.changePassword(username,password); } } });
} } [/code] также при входе в систему, даже если мое имя и пароль верны, приложение принудительно закрывается, я думаю, что может быть какая-то проблема в DBHelper.java DBHelper .java [code]package com.example.myapplication;
#*REMOVED IMPORTS FOR SIMPLICITY*#
import androidx.annotation.Nullable;
public class DBHelper extends SQLiteOpenHelper {
public static final String DBNAME = "login.db";
public DBHelper(Context context) { super(context, DBNAME, null, 1); }
@Override public void onCreate(SQLiteDatabase db) { db.execSQL("create TABLE users(unsername TEXT primary key,password TEXT,fullName TEXT,email TEXT,phone TEXT)"); }
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop Table if exists users"); }
public boolean insertData(String username, String password, String fullName, String email,String phone) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("unsername",username); contentValues.put("password",password); contentValues.put("fullName",fullName); contentValues.put("email",email); contentValues.put("phone",phone);
long results = db.insert("users",null,contentValues); if (results == -1) return false; else return true;
}
public boolean checkUsername (String username) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM users WHERE usnername = ?",new String[] {username}); if (cursor.getCount() > 0) return true; else return false; }
public boolean checkusernamePassword (String username, String password) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM users WHERE usnername = ? and password = ?",new String[] {username,password}); if (cursor.getCount() > 0) return true; else return false; }
public boolean changePassword (String username, String password) { SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery("UPDATE users SET passwod = ? WHERE username = ?",new String[] {password,username}); if (cursor.getCount() > 0) return true; else return false; } }
[/code] Вот важный фрагмент кода, в котором, по моему мнению, есть проблема. [code]forgetpass.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(LoginPage.this,ForgetPasswordPage.class); startActivity(intent); } }); [/code] В приведенном выше фрагменте намерение не работает должным образом: при первом нажатии приложение автоматически сворачивается, а при повторном нажатии оно полностью завершает работу. [code]signin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String uname = username.getEditText().getText().toString(); String pass = password.getEditText().getText().toString();
if (dbHelper.checkUsername(uname)) { if (dbHelper.checkusernamePassword(uname,pass)) { Intent intent = new Intent(LoginPage.this, HomePage.class); startActivity(intent); }else { password.setError("Incorrect password"); } }else { username.setError("Username not found"); } } }); [/code] Для этой кнопки входа я думаю, что функция DBHelper может содержать проблему. Ниже приведен фрагмент кода DBHelper [code]public boolean checkUsername (String username) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM users WHERE usnername = ?",new String[] {username}); if (cursor.getCount() > 0) return true; else return false; }
public boolean checkusernamePassword (String username, String password) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM users WHERE usnername = ? and password = ?",new String[] {username,password}); if (cursor.getCount() > 0) return true; else return false; }
public boolean changePassword (String username, String password) { SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery("UPDATE users SET passwod = ? WHERE username = ?",new String[] {password,username}); if (cursor.getCount() > 0) return true; else return false; } [/code] Я не знаю, что код намерения тот же, но он все равно не работает, так как при входе в систему должна быть проблема при выполнении моего запроса
Я извлекаю нужный раздел библиотеки, и эта библиотека имеет свои собственные идентификаторы, которые обычно используются в стандартных заголовках C++. Например, у него есть свои собственные atoi, itoa, uint32_t и т. д. в пространстве имен...
Я просто новичок в HTML и JavaScript, и я стараюсь сделать страницу входа в систему и зарегистрироваться. Пользователь должен первым зарегистрироваться, чтобы иметь возможность входить в систему. Если пользователь пытается войти в систему в учетной...
Я просто новичок в HTML и JavaScript, и я стараюсь сделать страницу входа в систему и зарегистрироваться. Пользователь должен первым зарегистрироваться, чтобы иметь возможность входить в систему. Если пользователь пытается войти в систему в учетной...
Я просто новичок в HTML и JavaScript, и я стараюсь сделать страницу входа в систему и зарегистрироваться. Пользователь должен первым зарегистрироваться, чтобы иметь возможность входить в систему. Если пользователь пытается войти в систему в учетной...
Я новичок в Laravel и использую Laravel 10. Я использовал пользовательский интерфейс Laravel для настройки аутентификации, и он работает нормально, но я хочу использовать мобильную аутентификацию вместо аутентификации по электронной почте. Как мне...