0

我是新手,所以如果我犯了任何菜鸟错误,请多多包涵。我正在尝试编写一个数据库并从数据库中返回一个随机条目。该程序应该启动一个 Randomize 活动,该活动将在按下随机化按钮时更新文本视图。\ public void randomize(View v) { view.setText(randRecipe());}

public String randRecipe()
  {
      Random rand= new Random();
      int r= rand.nextInt(base.size());
      Recipe rec= base.get(r);
      return rec.toString();
  }

这是我在我的 Randomize 活动中放入的代码,虽然它出于某种原因工作了一次,但每次我尝试再次随机化时,我的程序都会崩溃。base 是我检索到的包含所有配方条目名称的列表。我想既然我用它来填充我的 ListView,我可以再次使用它来在随机化中访问它。

我应该尝试直接从数据库中获取值吗?如果是这样,我将如何做到这一点,有人可以提供一个例子吗?

4

2 回答 2

1
public Cursor getRandom() {

Cursor cursor = myDataBase.rawQuery(
        "SELECT * FROM your_table_name ORDER BY RANDOM() LIMIT your_limit_here", null);
if (cursor.moveToFirst()) {
    return cursor;
}
return cursor;
}

假设你想随机获取 50 个数据而不是把 your_limit_here = 50; 其中 your_limit 是一个 int。

试试这个:它可能会帮助你

于 2013-07-29T13:29:10.103 回答
0

尝试这个

db.query(tableName, null, null, null, null, null, "RANDOM()", "1");
于 2013-03-20T02:34:38.017 回答