无法生成随机字符串

时间:2012-07-31 12:52:49

标签: java android sqlite

 for (int j = 0; j < fileBytes.size(); j++) {
        bitMap = convert.convertByteArray(fileBytes.get(j));
        db.addContact(new Case(UUID.randomUUID().toString(), "1234",
                        bitMap[0], bitMap[1]));
 }

此代码段将根据case列出的文件数量来生成fileBytes.size()类的n个对象。

如您所见,我只使用UUID.randomUUID().toString()生成随机String,这是Case构造函数中的第一个参数。

每个对象都保存到SQLite数据库。这不起作用,随机生成的String不会显示。但如果我将UUID.randomUUID().toString()替换为Integer.toString(j),则会显示出来。我真的不明白为什么它不应该工作..

有什么想法吗?

修改

问题是case类中的第一个参数是String,但数据库中的第一个字段设置为INT,将此字段更改为VARCHAR

2 个答案:

答案 0 :(得分:0)

出现在哪里?数据库?确保UUID不会太长或数据类型错误,无法存储在数据库中。

答案 1 :(得分:0)

怎么样

String randomStr = String.valueOf(Random.nextInt());

db.addContact(new Case(new String(UUID.randomUUID().toString()), "1234", bitMap[0], bitMap[1]));