Я новичок в этом, так что медведь со мной, если я совершу какие-либо ошибки noob. Я пытаюсь написать базу данных и вернуть случайную запись из базы данных. Программа должна запустить функцию Randomize, которая будет обновлять текстовое представление при нажатии кнопки рандомизации. \ пустота Randomize общественности (View v) { view.setText (randRecipe());}Android-Извлечение случайной записи из базы данных SQLite?
public String randRecipe()
{
Random rand= new Random();
int r= rand.nextInt(base.size());
Recipe rec= base.get(r);
return rec.toString();
}
Это код, который я поставил в моей Randomize деятельности, и, хотя он работал когда-то по какой-то причине, мой программа вылетает каждый раз, когда я пытаюсь рандомизировать снова. base - это список, который я получил, содержащий все имена записей рецептов. Я понял, что, поскольку я использовал его для заполнения ListView, я мог бы использовать его снова, чтобы получить доступ к нему в рандомизации.
Должен ли я попытаться получить значение из базы данных напрямую? Если да, то как я могу это сделать, и может ли кто-нибудь привести пример?
Я бы получил его непосредственно из базы данных. Для этого добавьте [ORDER BY random() limit 1] (http://stackoverflow.com/questions/1253561/sqlite-order-by-rand) в конец вашего SQL-запроса. – hd1