我想使用 SQLite 在我的项目中显示用户名?

i want to display username in my project using SQLite?

在我的项目中,用户注册后,我想在下一页显示用户名

因此,此行有效,但只有第一个用户注册,如果另一个用户注册,它将显示第一个用户名。

displName =findViewById(R.id.displayName);
displName.setText(database.getAllNote().get(0).getUserName()); 

我的数据库

    @Override
    public void onCreate(SQLiteDatabase db) {
    db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
    onCreate(db);
    }

    public void openDatabase() {
        db = this.getWritableDatabase();}
      @SuppressLint("Range")
    public List<UserTasks> getAllNote(){
        List<UserTasks> listNote = new ArrayList<>();
        Cursor cur = null;
        db.beginTransaction();
        try{
            cur = db.query(TABLE_NAME, null, null, null, null, null, null, null);
            if(cur != null){
                if(cur.moveToFirst()){
                    do{
                        UserTasks note = new UserTasks();
                        note.setUser_id(cur.getInt(cur.getColumnIndex(UID)));
                        note.setUserName(cur.getString(cur.getColumnIndex(UserName)));
                        note.setPassword(cur.getString(cur.getColumnIndex(Password)));
                        note.setNote(cur.getString(cur.getColumnIndex(Note)));
                        note.setStatus(cur.getInt(cur.getColumnIndex(STATUS)));
                        note.setDate(cur.getString(cur.getColumnIndex(date)));
                        note.setTitle(cur.getString(cur.getColumnIndex(titleChe)));
                        note.setDecs(cur.getString(cur.getColumnIndex(desc)));
                        note.setDay(cur.getString(cur.getColumnIndex(day)));
                        listNote.add(note);
                    }
                    while(cur.moveToNext());
                }
            }
        }
        finally {
            db.endTransaction();
            assert cur != null;
            cur.close();
        }
        return listNote;
    }

我该如何解决这个小问题?请帮忙

您总是获得第一个注册用户,因为您总是检索 table 索引 0

displName.setText(database.getAllNote().get(0).getUserName());

所以我建议你使用SharedPreference来增加注册用户的数量。

当用户成功注册后,您必须增加用户数量

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); 
Int countUser = pref.getInt("count_user", 0); // getting Integer

Editor editor = pref.edit();
editor.putInt("count_user", countUser+1);
editor.apply();

之后,将您的 displName.setText 更改为:

    SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); 
    Int countUser = pref.getInt("count_user", 0); // getting Integer
    displName.setText(database.getAllNote().get(countUser).getUserName());

您将始终获得最新的注册用户名。