1

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();
}
4

0 回答 0