我是新手,所以如果我犯了任何noob错误,请耐心等待。我正在尝试编写数据库并从数据库中返回一个随机条目。该程序应启动Randomize活动,该活动将在按下randomize按钮时更新文本视图。 \ public void randomize(查看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是我检索到的包含所有配方条目名称的List。我想,因为我用它来填充我的ListView,我可以再次使用它来随机访问它。
我应该尝试直接从数据库中获取值吗?如果是这样,我该怎么做呢,有人可以提供一个例子吗?
答案 0 :(得分: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。
试试这个:可能会帮到你
答案 1 :(得分:0)
试试这个
db.query(tableName, null, null, null, null, null, "RANDOM()", "1");