Używam nowy Room Persistance Library wydany na tegorocznym Google I/O i to działa świetnie do tej pory, ale jakoś to nie jest możliwe złożenie zamówienia na wyniki z UNICODE lub ZLOKALIZOWANA . Jedyne, co działa to NOCASE, które jest bezużyteczne w moim przypadku.pokoju Trwałość Biblioteka Zapytanie sortowania nie zlokalizowane pracuje
Czy istnieje sposób na osiągnięcie tej funkcji?
@Dao
public interface ContactDao {
@Query("SELECT * FROM contact ORDER BY lastName COLLATE LOCALIZED")
Flowable<List<Contact>> getAll();
}
Gdybym zbudować kwerendę jak wyżej pojawia się błąd:
Error:(21, 29) error: There is a problem with the query: [SQLITE_ERROR]
SQL error or missing database (no such collation sequence: LOCALIZED)
Jeśli dobrze rozumiem, aby używać 'UKLADAJ LOCALIZED', trzeba zadeklarować, że w ramach ograniczenie kolumny w instrukcji 'CREATE TABLE'. Wygląda na to, że możesz użyć 'Migracji' do zakodowania własnej instrukcji' CREATE TABLE', ale nie jest dla mnie jasne, jak utworzyć 'Migration' dla początkowego tworzenia tabeli (w porównaniu do aktualizacji). Nie wiem, czy to Ty zgłosiłeś [ten problem] (https://issuetracker.google.com/issues/62007004), ale powinienem mieć na to oko. – CommonsWare
Witam, naprawiłeś to? –
Niezupełnie ... w tej chwili sortuję listę, zanim ją wykorzystam. 'Collections.sort (nameOfYourList) {o1, o2 -> Collator.getInstance (Locale.GERMAN) .compare (o1.lastName, o2.lastName)}' – denwehrle