Java 从数据库中提供随机项

Java 从数据库中提供随机项,java,android,database,Java,Android,Database,我有一千个名字(文本),当我点击一个按钮时,我需要以随机顺序一个接一个地显示它们。最好的方法是什么 从数据库中获取所有名称并存储在数组列表中。您可以在活动的onCreate()上获取所有名称,也可以根据需要单击按钮 ArrayList<String> list= new ArrayList<String>(); list.add("A"); list.add("E"); list.add("I"); list.add("O"); list.add("U"); publi

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

从数据库中获取所有名称并存储在数组列表中。您可以在活动的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);
}
ArrayList list=new ArrayList();
列表。添加(“A”);
列表。添加(“E”);
列表。添加(“I”);
列表。添加(“O”);
列表。添加(“U”);
公共无效clickEvent(){
集合。洗牌(列表);
String name=list.get(0);//从索引
textView.setText(名称);
}

如果在关闭程序后仍需要保留名称,请使用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 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());

向我们展示您迄今为止尝试过的代码。使用
随机排序
。我没有代码。。我只是想知道做这件事最好的方法是什么。。SQlite?ArrayList?还是什么?我不需要代码员。我不知道你为什么给我负面评价。我要告诉我怎么做谢谢兄弟。你真的很有帮助,这几乎就是我需要的。假设我有一百个联系人。当我单击按钮时,将出现一个随机名称。当我再次单击它时,将显示另一个名称,并从列表中删除上一个名称。当我重新打开应用程序时,删除的名称将不会重新出现在列表中。。我想你的方式就是我需要的。。也许稍加修改。你认为呢?从数据库中随机取名字很容易:从数据库中随机取名字很容易:从0到名字的个数之间生成随机数'random rand=new random();int randomNum=rand.nextInt((100)+1;’例如,要从表中删除项,请使用:db.execSQL(“从“+names+”中删除,其中name=”“+your_name+”);