PersistentStore.getPersistentObject
返回空?
我正在使用随机键来检索对象形式 PersistentStore
persist = PersistentStore.getPersistentObject( KEY );
在模拟器(OS 5)上工作正常,当我将签名的代码带到设备时(BB OS 5.0 Bold 8900)
由于某种原因,这将返回 null,无一例外。随后,我在 PersistentStore/persist 上调用的任何 API 都会返回 null 而不会出现异常,即使 persist 为 null 也是如此。
我不确定这是否是 Eclipse 调试器的事情,但即使调试器显示对象为空。代码中应用的空值检查似乎失败了,这意味着代码将这些对象视为非空值。呼!!!这怎么可能?
在此代码中,persist 显示为 null,safetyTable 和 orderedkeys 也是如此。但是,代码中的 null 检查失败。
稍后在代码中,当我尝试访问有序键时,这些键再次为空!!!两天来一直在努力解决这个问题,任何指针都会非常有帮助。
persist = PersistentStore.getPersistentObject( KEY );
persistOrderedKeys = PersistentStore.getPersistentObject(KEY_ORDERED_KEYS);
safetyTable = (Hashtable)persist.getContents();
orderedKeys = (Vector)persistOrderedKeys.getContents();
if (safetyTable == null)
{
safetyTable = new Hashtable();
persist.setContents(safetyTable);
persist.commit();
}
if (orderedKeys==null)
{
orderedKeys=new Vector();
if (safetyTable.size() > 0)
{
Enumeration addressKeys = safetyTable.keys();
while(addressKeys.hasMoreElements())
{
orderedKeys.addElement((String)addressKeys.nextElement());
}
}
persistOrderedKeys.setContents(orderedKeys);
persistOrderedKeys.commit();
}