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
答案 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]));