Многоуровневый логин пользователя - PullRequest
0 голосов
/ 27 июня 2018

У меня есть проект по созданию страницы входа с многоуровневым входом пользователя в Android Studio с использованием базы данных SQLite на телефоне, и я могу сделать только базовое приложение для входа, у вас, ребята, есть какая-то справка по этой проблеме? Заранее спасибо и извините за мой плохой английский.

Это код для уровня пользователя:

if (databaseHelper.checkUser(textInputEditTextEmail.getText().toString.trim(), text InputEditTextPassword.getText().toString.trim())) //when user successfully login
{
     Cursor userLevel;
     userLevel.databaseHelper.checkAdmin(textInputEditTextEmail.getText().toString().trim()); //get user level from database userLevel.moveToFirst();
     int level = userLevel.getInt(0); //convert Cursor data to Int if(level==1){ //go to userActivity.class
}
else
{
    // go to registerActivity.class
}

и этот код для получения уровня пользователя из базы данных:

public Cursor checkAdmin(String email)
{
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor res = db.rawQuery("select level from "+ TABLE_USER+ "where email ="+email, null);
    return res;
}

Есть идеи, где моя ошибка?

1 Ответ

0 голосов
/ 29 июня 2018

спасибо, ребята, я закончил свой проект, ошибка была в запросе, я пропустил двойные символы в условии WHERE, код должен быть таким:

public Cursor checkAdmin (String email){
  SQLiteDatabase db = this.getReadableDatabase();
  Cursor res = db.rawQuery("SELECT user_level FROM"+TABLE_USER+" WHERE user_email = \""+email+"\"",null);
  return res;
  }

и все, что нам нужно сделать, это преобразовать res в целое число, а затем использовать этот код:

 if (databaseHelper.checkUser(textInputEditTextEmail.getText().toString.trim(), text InputEditTextPassword.getText().toString.trim())) 
{ //when user successfully login
  Cursor userLevel;
  userLevel = databaseHelper.checkAdmin(textInputEditTextEmail.getText().toString().trim()); //get user level from database 
  userLevel.moveToFirst(); //convert Cursor data to Int
  int level = userLevel.getInt(0); //convert Cursor data to Int 
  if(level==1){ 
     //go to userActivity.class
  }
  else
  {
    //go to registerActivity.class
  }

Спасибо, ребята, надеюсь, этот код поможет вам всем.

...