android从数据库中排序整数从大到小

时间:2014-10-31 16:51:12

标签: android database

我做了一个测验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;
    }

1 个答案:

答案 0 :(得分:3)

您可以在查询的最后一个参数中设置升序或降序。在您的情况下,您的getData()方法可以通过将查询行更改为以下命令以降序返回带有KEY_SCORE列的字符串:

Cursor c = ourDbase.query(MyTABLE, columns , null, null, null, null, KEY_SCORE + " DESC");

祝你好运!