Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQLite数据库进行Android登录验证。无法检索值_Android - Fatal编程技术网

使用SQLite数据库进行Android登录验证。无法检索值

使用SQLite数据库进行Android登录验证。无法检索值,android,Android,我对android非常陌生,这个项目需要注册作为第一步,从用户那里获取用户名和密码,下一个活动需要登录才能继续。需要登录才能验证用户名和密码。我无法获取用户名,它是表中的第一个字段和最后一个字段密码 log.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub un = user.getTe

我对android非常陌生,这个项目需要注册作为第一步,从用户那里获取用户名和密码,下一个活动需要登录才能继续。需要登录才能验证用户名和密码。我无法获取用户名,它是表中的第一个字段和最后一个字段密码

log.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
    // TODO Auto-generated method stub
    un = user.getText().toString();
    pw = pass.getText().toString();

    Record rec = new Record(MainActivity.this);
    SQLiteDatabase sqldb = rec.getReadableDatabase();
    Cursor c = sqldb.query(Record.tbname, null, 
            null, null, null, null, null);
    while(c.moveToNext())
    {
        username = c.getString(0);
        password = c.getString(3);
    }

      if(un == username && pw == password)
      {
        Toast.makeText(MainActivity.this, "Valid Credentials", Toast.LENGTH_LONG).show();

        Intent next = new Intent();
        next.setClass(MainActivity.this, HomeActivity.class);
        startActivity(next);
      }
      else
      {
          Toast.makeText(MainActivity.this, "Invalid Credentials", Toast.LENGTH_LONG).show();
      }  
  }
});

我无法获取值以验证登录详细信息。

不要使用
=
来比较字符串值,请使用
equalsIgnoreCase()

如果不想忽略区分大小写,请使用
equals()


==运算符仅适用于基本数据类型。对于字符串比较,可以使用equals()或equalsIgnoreCase()

由于您正在比较用户名和密码,因此强烈建议使用equals()

可能重复的
if(un == username && pw == password)
if(un.equalsIgnoreCase(username) && pw.equalsIgnoreCase(password))
                 if(un.equals(username) && pw.equals(password))
                  {
                    Toast.makeText(MainActivity.this, "Valid Credentials", Toast.LENGTH_LONG).show();

                    Intent next = new Intent();
                    next.setClass(MainActivity.this, HomeActivity.class);
                    startActivity(next);
                  }
                  else
                  {
                      Toast.makeText(MainActivity.this, "Invalid Credentials", Toast.LENGTH_LONG).show();
                  }