Я не очень знаком с программированием Android, но все же я могу понять коды, моя единственная проблема в том, что я не могу получить выходные данные, которые мне нужны для моего игрового приложения на Android Eclipse, я просто хотел получить данные из моей базы данных и отобразить рекорды из 3 различных текстовых полей, например:
TextField1 <-- this will be the highest score of a player will be displayed
TextField2 <-- this will be the second highest next to textfield1
TextField3 <-- this will be the third highest score
Мне действительно не повезло, кодирование, я думал, что это будет легко, как делать вещи в PHP, но это отстой для меня, я новичок в Android, если кто-то может помочь мне, пожалуйста, сделайте 🙂
Кстати: это код, над которым я работал, но мне не повезло показать то, что я хотел
try{
db = openOrCreateDatabase("DodgerDB",MODE_PRIVATE,null);
Cursor c = db.rawQuery("select * from ScoresTable order by scoreVALUE desc",null);
while(c.moveToNext()){
scoreid = c.getInt(c.getColumnIndex("scoreID"));
score = c.getInt(c.getColumnIndex("scoreVALUE"));
date = c.getString(c.getColumnIndex("scoreDATE"));ScoreView1.setText("score id:"+scoreid+" score:"+score+" date:"+date);
ScoreView2.setText("score id:"+scoreid+" score:"+score+" date:"+date);
ScoreView3.setText("score id:"+scoreid+" score:"+score+" date:"+date);
}//end of while loop }//end of try statement
catch(Exception er) {
Toast.makeText(ScoresActivity.this, ""+er, Toast.LENGTH_SHORT).show();
}
Тем не менее, у меня есть только те же идентичные (данные) вывод, поступающий из базы данных на этих 3 полях, пожалуйста, помогите 🙁
В этом случае вы увидите только последний ряд от вашего курсора. Каждая итерация извлекает строку из курсора и предыдущие значения в TextView
перезаписываются каждый раз.
Попробуйте это, чтобы понять, как это работает:
while(c.moveToNext()){
scoreid = c.getInt(c.getColumnIndex("scoreID"));
score = c.getInt(c.getColumnIndex("scoreVALUE"));
date = c.getString(c.getColumnIndex("scoreDATE"));
Log.d("SomeTag", "score id:"+scoreid+" score:"+score+" date:"+date);
}
UPD: чтобы показать ваши 3 строки в разных TextViews:
c.moveToNext();
scoreid = c.getInt(c.getColumnIndex("scoreID"));
score = c.getInt(c.getColumnIndex("scoreVALUE"));
date = c.getString(c.getColumnIndex("scoreDATE"));
ScoreView1.setText("score id:"+scoreid+" score:"+score+" date:"+date);
c.moveToNext();
scoreid = c.getInt(c.getColumnIndex("scoreID"));
score = c.getInt(c.getColumnIndex("scoreVALUE"));
date = c.getString(c.getColumnIndex("scoreDATE"));
ScoreView2.setText("score id:"+scoreid+" score:"+score+" date:"+date);
c.moveToNext();
scoreid = c.getInt(c.getColumnIndex("scoreID"));
score = c.getInt(c.getColumnIndex("scoreVALUE"));
date = c.getString(c.getColumnIndex("scoreDATE"));
ScoreView3.setText("score id:"+scoreid+" score:"+score+" date:"+date);
Других решений пока нет …