Android sqlite:从数据库中检索随机数据

时间:2013-12-08 19:33:19

标签: android database random

一直在搜索和使用所有资源,但似乎没有任何东西可以用于我的项目。

我需要在摇动设备时检索随机数据。

我已经有了震动检测。 我的问题是我无法检索随机数据。

在设备上测试。应用程序崩溃。

mainactivity.java

DataSource DS = new DataSource(this);

public void onShake(float force) {

    // Called when Motion Detected
    Toast.makeText(getBaseContext(), "Motion detected", 
            Toast.LENGTH_SHORT).show();

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            // Do something after 5s = 5000ms
            TextView text = (TextView) findViewById(R.id.textView1);
            text.setText(DS.getRandomQuote());

        }
    }, 2000);


public String getRandomQuote() {

    Cursor c = database.query(MysqLiteHelper.TABLE_COMMENTS,
        new String[] { MysqLiteHelper.COLUMN_COMMENT}, null, null, null, null, "ORDER BY RANDON() LIMIT 1");

    if(c.moveToFirst())
        return c.getString(c.getColumnIndex(MysqLiteHelper.COLUMN_COMMENT));
    else 
       return "nothing";
}

已经阅读:

How can select random data from database and display in textview?

How can select random data from database and display in textview?

但对我不起作用

1 个答案:

答案 0 :(得分:0)

  1. 您正在寻找的功能是RANDOM()而不是RANDON()

  2. query()将其ORDER BYLIMIT参数设置为单独的参数,不包含ORDER BYLIMIT个关键字。