【问题标题】:Android- Retrieving random entry from SQLite Database?Android- 从 SQLite 数据库中检索随机条目?
【发布时间】:2013-03-20 02:19:59
【问题描述】:

我是新手,如果我犯了任何菜鸟错误,请多多包涵。我正在尝试编写一个数据库并从数据库中返回一个随机条目。该程序应该启动一个 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 是我检索到的包含所有配方条目名称的列表。我想既然我用它来填充我的 ListView,我可以再次使用它在随机化中访问它。

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

【问题讨论】:

标签: android random android-sqlite


【解决方案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。

试试这个:可能对你有帮助

【讨论】:

    【解决方案2】:

    试试这个

    db.query(tableName, null, null, null, null, null, "RANDOM()", "1");
    

    【讨论】:

      猜你喜欢
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      • 2014-06-30
      • 2018-04-18
      • 2011-09-09
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      相关资源
      最近更新 更多