从数据库中提供随机项

时间:2016-12-05 09:30:16

标签: java android database

我有f.e.一千个名字(文本),当我点击一个按钮时,我需要以随机顺序逐个显示它们。最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

如果您需要在关闭程序后保留名称,请使用SQLite或共享首选项。这是示例代码。

ExternalDbOpenHelper dbOpenHelper;
SQLiteDatabase database;

dbOpenHelper = new ExternalDbOpenHelper(context, "DB");
        database = dbOpenHelper.getWritableDatabase();

database.execSQL("CREATE TABLE IF NOT EXISTS "+"names"+
                " ("+"ID"+" INTEGER PRIMARY KEY AUTOINCREMENT, "+
                "name"+" TEXT)");
ContentValues cv = new ContentValues();
        cv.put("name", name_string);

        database.insert("names", null, cv);
database.close();

然后使用Cursor访问数据库中的值:

Cursor c = database.query("names", null, null, null, null, null, null);
        c.moveToFirst();
        String name;
        do{
            int nameCI = c.getColumnIndex("name");
            name = c.getInt(nameCI);
        }while (c.moveToNext());

答案 1 :(得分:0)

从数据库中获取所有名称并存储在数组列表中。您可以根据需要获取活动的onCreate()或按钮单击的所有名称。

ArrayList<String> list= new ArrayList<String>();
list.add("A");
list.add("E");
list.add("I");
list.add("O");
list.add("U");

public void clickEvent(){
    Collections.shuffle(list);
    String name=list.get(0);//from index
    textView.setText(name);
}