Search code examples
androidmulti-level

Multi level user Login


I have a project to make login page with multi level user login in android studio using SQLite database on phone, and i only can made basic login app, do you guys have some reference for this problem? Thanks in advance and sorry for my bad English.

This the code for user level:

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
}

and this code for get user level from database:

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

Any idea where are my mistake?


Solution

  • thanks guys, i had finish my project, the mistake was in the query, i missed double qoutes in WHERE condition, the code shoulde be like this:

    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;
      }
    

    and all we have to do is convert res to integer then use this code :

     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
      }
    

    Thanks guys, hope this code can help you all.