public User searchUser(String name) {
User u = new User();
SQLiteDatabase db = this.getWritableDatabase(); //get the database that was created in this instance
Cursor c = db.rawQuery("select * from " + TABLE_NAME_User+" where username =?", new String[]{name});
if (c.moveToLast()) {
u.setUsername(c.getString(1));
u.setEmail(c.getString(1));
u.setImgUrl(c.getString(2));
u.setScoreEng(c.getString(3));
u.setScoreFr(c.getString(4));
u.setScoreSpan(c.getString(5));
u.setScoreGer(c.getString(6));
u.setLevelFr(c.getString(7));
u.setLevelEng(c.getString(8));
u.setLevelSpan(c.getString(9));
u.setLevelGer(c.getString(10));
return u;
}else {
Log.e("error not found", "user can't be found or database empty");
return u;
}
}
это мой код для выбора одного пользователя и только одного
так что вы инициируете пустой объект вашего класса, то
Вы называете свою доступную для записи базу данных
используйте курсор на случай, если их много и вам нужен
здесь у вас есть выбор Использование: 1-
if (c.moveToLast()) { } //it return the last element in that cursor
или использование: 2-
if(c.moveToFirst()) { } //return the first object in the cursor
и не забывайте, если база данных пуста, вам придется иметь дело с этим, в моем случае я просто возвращаю пустой объект
Удачи