Android数据库搜索

Android数据库搜索,android,Android,请帮忙 我想检查用户是否已经存在。 我存储在数据库中的值只是类似username:xyz:address:abc的字符串。 我将字符串拆分为“:” 我只想从字符串中检查用户名,但不起作用。这是我的代码 在数据库类中 public boolean checkEvent(String title) { ArrayList<String> values = new ArrayList<String>(); values=getValues();

请帮忙 我想检查用户是否已经存在。 我存储在数据库中的值只是类似username:xyz:address:abc的字符串。 我将字符串拆分为“:” 我只想从字符串中检查用户名,但不起作用。这是我的代码

  • 在数据库类中

     public boolean checkEvent(String title) 
      {
    
        ArrayList<String> values = new ArrayList<String>();
    
        values=getValues();
        String[] arrBMInfo;
        int j=0;
        String items[]=title.split(":");
    for(int i=0;i<values.size();i++)
    {
        arrBMInfo=values.get(i).split(":");
        if(arrBMInfo[0]==items[0]&&arrBMInfo[1]==items[1])
        {
            Log.d("Title",arrBMInfo[0]+items[0]+"   "+arrBMInfo[1]+items[1]);
                     j=1;
        }
        if(j=1)
            {
                 return true;
                 j=0;
            }
               else
                 return false;
    
    public ArrayList<String> getValues() 
    {
    
        ArrayList<String> values = new ArrayList<String>();
        String[] columns = new String[] { KEY_NAME };
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.query(DATABASE_TABLE, columns, null,
                null, null, null, null);
    
        if (cursor .moveToFirst()) 
        {
    
          while (cursor.isAfterLast() == false) 
          {
              String name = cursor.getString(cursor
                      .getColumnIndex(DataBase.KEY_NAME));
              values.add(name);
              cursor.moveToNext();
          }
        } 
    
        cursor.close();
        db.close();
        return values;
    }
    
  • 比较字符串时使用
    .equals()
    ,而不是
    =

    if(arrBMInfo[0].equals(items[0]) && arrBMInfo[1].equals(items[1])) {
        // etc.
    }
    

    “不工作”是什么意思?意味着AlertDialog应该出现,但它没有。我的问题由#karakuri和#karakuri回答,我明白我的问题。谢谢……现在它工作了。无论谁否决了这个,请解释原因。OP说这回答了他的问题…是的,它解决了我的问题#karakuri
    if(arrBMInfo[0].equals(items[0]) && arrBMInfo[1].equals(items[1])) {
        // etc.
    }