データベースからランダムな単語を生成するアプリケーションを作成しました。しかし、そのような問題があり
ます。データベースにいくつかの行を挿入しましたが、ID フィールドは AUTOINCREMENT です。データベースからランダムな単語を取得します。しかし、レコードを削除して新しいレコードを挿入すると、ご存じのとおり、ID は古いレコードをスキップします。
そのため、ランダムな単語を取得しようとすると、エラーが発生する場合があります。どうすればこの問題を解決できますか?
ご回答ありがとうございます...
public void kelimeUret() {
SQLiteDatabase db = kelimeler.getReadableDatabase();
rastgele = new Random();
Cursor kayit = db.rawQuery("SELECT count(*) FROM kelimeler", null);
kayit.moveToFirst();
int max = Integer.parseInt(kayit.getString(0));
int min = 1;
int rastgeleKayit = rastgele.nextInt(max - min + 1) + min;
Cursor kayit2 = db.rawQuery("SELECT ingilizce FROM kelimeler WHERE id=" + rastgeleKayit, null);
kayit2.moveToFirst();
String sonuc = kayit2.getString(0);
olusturulanKelime = sonuc;
kelime = (TextView) findViewById(R.id.kelime);
kelime.setText(sonuc);
}
私のコードはここにあります。実際問題ありません。できます。しかし、random が以前にデータベースから削除された ID を生成すると、エラーが発生します。レコードの順序番号を生成する必要があると考えましたが、それを行う方法が見つかりませんでした。別の方法でやりたいです。(身分証明書にはありません)