2013-12-08 113 views
0

在这里搜索和使用所有资源,但似乎没有任何工作与我的项目。Android sqlite:从数据库检索随机数据

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

我已经有我的摇动检测。 我的问题是我不能检索一个随机数据。

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

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?

但对我来说

不起作用
+0

“不起作用”是什么意思? – laalto

回答

0
  1. 您正在寻找的功能RANDOM()RANDON()

  2. query()取其ORDER BYLIMIT PARAMS单独指定参数时,没有ORDER BYLIMIT关键字。

+0

对不起,只是一个错字错误将其更改为RANDOM()它会使应用程序崩溃。 –

+0

@ FanBoy-designAnd-concept对于崩溃,在问题中总是包含来自logcat的异常stacktrace。这是满足“什么”不起作用“意味着”问题的一种方式。 – laalto

+0

得到了错误,我认为它是我的查询。 的NullPointerException - 光标光标= database.query(MySQLiteHelper.TABLE_COMMENTS, \t \t \t \t allColumns,NULL,NULL,NULL,NULL,NULL); 当我登录这个查询其空。 –