我做了一个测验Android应用程序,用户每次完成测验后都会获得分数,之后分数将保存在数据库中,之后用户可以显示已保存的分数。我的问题是如何在页面得分上显示或排序这些得分,从最高得分到最小得分。 这是我的代码,我得到用户的分数和名称,并将其设置在textview上:
TextView tv1 = (TextView) findViewById(R.id.TextView1);
DbHelper info = new DbHelper(this);
userInfo.open();
String data = userInfo.getData();
userInfo.close();
tv1.setText(data);
我的getData方法:
// TODO Auto-generated method stub
String[] columns = new String[] { KEY_ID2, KEY_NAME, KEY_SCORE};
Cursor c = ourDbase.query(MyTABLE, columns , null, null, null, null, null);
String result ="";
int TheRow = c.getColumnIndex(KEY_ID);
int TheName = c.getColumnIndex(KEY_NAME);
int TheScore = c.getColumnIndex(KEY_SCORE);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
result = result + c.getString(TheRow ) + " " + c.getString(TheName ) + " " + c.getString(TheScore ) + "\n";
}
return result;
}
答案 0 :(得分:3)
您可以在查询的最后一个参数中设置升序或降序。在您的情况下,您的getData()方法可以通过将查询行更改为以下命令以降序返回带有KEY_SCORE列的字符串:
Cursor c = ourDbase.query(MyTABLE, columns , null, null, null, null, KEY_SCORE + " DESC");
祝你好运!