您能帮我对黑莓应用程序中的持久存储记录进行排序吗?我想按升序和降序对其进行排序...
问问题
1068 次
2 回答
1
我假设您指的是存储在 PersistentStore 中的排序记录,而不仅仅是实现 Persistable 接口的对象。
为了将您的数据提交到 PersistentStore:
SimpleSortingVector ssv = new SimpleSortingVector();
// Construct your records and add them to the vector
PersistentObject po = PersistentStore.getPersistentObject(persistentStoreKey);
po.setContents(new ControlledAccess(ssv, codeSigningKey));
po.commit();
为了检索向量:
Object contents = po.getContents();
if (contents instanceof SimpleSortingVector)
{
// Cast to a SimpleSortingVector and load your data
}
我相信将 SimpleSortingVector 放在 PersistentStore 中应该没有任何问题。但是,它确实融合了数据存储与其行为之间的界限(因为您不仅要存储数据记录,还要存储比较器和排序信息)。将您的记录作为 Vector 存储在 PersistentStore 中可能是一种更简洁的解决方案,当您从 PersistentStore 中加载它时,将其复制到您在应用程序运行时使用的 SimpleSortingVector 中。如果您采用这种方法,您可以将有关比较器的信息和排序信息以指定格式存储在 Vector 本身中,并在构造 SimpleSortingVector 时将其提取出来。
于 2010-01-20T14:31:04.760 回答
1
对于黑莓中的排序,您可以使用SimpleSortingVector 但坏消息是,SimpleSortingVector 不可持久。因此,要在持久存储中进行排序,您必须编写自己的排序方法。
Vector info = (Vector) store.getContents();
现在使用任何排序算法对向量的内容进行排序。
于 2010-01-20T13:28:08.867 回答