0
 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文件数生成该类的n 个对象。fileBytes.size()

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

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

有任何想法吗?

编辑

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

4

2 回答 2

0

关于什么

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

或者

db.addContact(new Case(new String(UUID.randomUUID().toString()), "1234", bitMap[0], bitMap[1]));
于 2012-07-31T13:16:17.230 回答
0

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

于 2012-07-31T12:55:22.307 回答