你可以帮我在Blackberry应用程序中对持久存储记录进行排序吗? 我想按升序和降序排序......
答案 0 :(得分:1)
要在黑莓中进行排序,您可以使用 SimpleSortingVector 但坏消息是,SimpleSortingVector不能持久化。 因此,对于持久存储中的排序,您必须编写 你自己的排序方法。
Vector info = (Vector) store.getContents();
现在使用任何排序算法对向量的内容进行排序。
答案 1 :(得分: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
}
我相信在PersistentStore中放置SimpleSortingVector应该没有任何问题。但是,它确实混合了数据存储与其行为之间的界限(因为您不仅存储数据记录,还存储比较器和排序信息)。将记录作为Vector存储在PersistentStore中可能是一个更简洁的解决方案,当您从PersistentStore中加载它时,将其复制到您在应用程序运行时使用的SimpleSortingVector中。如果您采用这种方法,您可以以指定的格式存储有关比较器的信息并在Vector中自行排序信息,并在构造SimpleSortingVector时将其解压缩。