BlackBerry OS 5:PersistentStore.getPersistentObject是否返回null?
BlackBerry OS 5:PersistentStore.getPersistentObject是否返回null?,blackberry,persistent,Blackberry,Persistent,PersistentStore.getPersistentObject返回空值 我正在使用随机键从PersistentStore检索对象 persist=PersistentStore.getPersistentObject(键); 在模拟器(OS 5)上运行良好,当我将签名代码带到设备上时(BB OS 5.0 Bold 8900) 出于某种原因,它返回null,没有异常。随后,PersistentStore/persist上的任何API I inoke都会返回null,即使persist为n
PersistentStore.getPersistentObject
返回空值
我正在使用随机键从PersistentStore检索对象
persist=PersistentStore.getPersistentObject(键);
在模拟器(OS 5)上运行良好,当我将签名代码带到设备上时(BB OS 5.0 Bold 8900)
出于某种原因,它返回null,没有异常。随后,PersistentStore/persist上的任何API I inoke都会返回null,即使persist为null,也不会出现异常
我不确定这是否是eclipse调试器,但即使调试器显示对象为null。代码中应用的Null检查似乎失败了,这意味着代码将这些对象视为非Null。呸!!!这怎么可能
在这段代码中,persist显示为null,safetyTable和orderedkeys也显示为null。但是,代码中的空检查失败
在代码的后面,当我尝试访问orderedkeys时,这些都是空的!!!我们已经为这个问题奋斗了两天,任何指点都会非常有益
persist=PersistentStore.getPersistentObject(键);
persistOrderedKeys=PersistentStore.getPersistentObject(KEY\u ORDERED\u KEYS);
safetyTable=(哈希表)persist.getContents();
orderedKeys=(向量)persistOrderedKeys.getContents();
if(safetyTable==null)
{
safetyTable=新哈希表();
persist.setContents(安全表);
persist.commit();
}
如果(orderedKeys==null)
{
orderedKeys=新向量();
如果(safetyTable.size()>0)
{
枚举addressKeys=safetyTable.keys();
while(addressKeys.hasMoreElements())
{
orderedKeys.addElement((字符串)addressKeys.nextElement());
}
}
persistOrderedKeys.setContents(orderedKeys);
persistOrderedKeys.commit();
}
这是一个调试器。在实际设备上看不到变量的值。尝试登录,您将看到不同之处