Как отсортировать постоянные записи магазина в приложении Blackberry? - PullRequest
0 голосов
/ 20 января 2010

Не могли бы вы помочь мне в сортировке постоянных записей магазина в приложении Blackberry? Я хочу отсортировать его в порядке возрастания и убывания ...

Ответы [ 2 ]

1 голос
/ 20 января 2010

Я предполагаю, что вы имеете в виду сортировку записей, которые хранятся в 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. Тем не менее, он смешивает грань между хранением ваших данных и их поведением (поскольку вы храните не только свои записи данных, но также и компаратор и сортирующую информацию). Это может быть более чистое решение для хранения ваших записей в PersistentStore как просто Vector, а когда вы загружаете их из PersistentStore, скопируйте их в SimpleSortingVector, который вы используете на протяжении всего времени выполнения вашего приложения. Если вы воспользовались этим подходом, вы могли бы хранить информацию о Компараторе и сортировать информацию в самом векторе в указанном формате и извлекать ее при создании SimpleSortingVector.

1 голос
/ 20 января 2010

Для сортировки в ежевике вы можете использовать SimpleSortingVector но плохие новости в том, что SimpleSortingVector не является постоянным. Так что для сортировки в постоянном магазине нужно написать ваш собственный метод сортировки.

Vector info = (Vector) store.getContents();

теперь сортируйте содержимое векторов с любым алгоритмом сортировки.

...