J'utilise la nouvelle Room Persistance Library publié cette année au Google I/O et cela fonctionne grand jusqu'à présent, mais de toute façon il est impossible de commander les résultats avec UNICODE ou ENDROITS . La seule chose qui fonctionne est NOCASE qui est inutile dans mon cas.Chambre Persistance Bibliothèque de requête COLLATE LOCALISEES ne fonctionne pas
Existe-t-il un moyen d'atteindre cette fonctionnalité?
@Dao
public interface ContactDao {
@Query("SELECT * FROM contact ORDER BY lastName COLLATE LOCALIZED")
Flowable<List<Contact>> getAll();
}
Si je construis la requête comme ci-dessus je reçois une erreur:
Error:(21, 29) error: There is a problem with the query: [SQLITE_ERROR]
SQL error or missing database (no such collation sequence: LOCALIZED)
Si je comprends bien, d'utiliser 'COLLATE LOCALIZED', vous devez déclarer que dans le cadre de une contrainte de colonne dans l'instruction 'CREATE TABLE'. Il semblerait que vous pouvez utiliser un 'Migration' pour coder votre propre instruction' CREATE TABLE', bien qu'il ne soit pas clair comment créer une 'Migration' pour la création de la table initiale (vs une mise à jour). Je ne sais pas si vous étiez celui qui a déposé [ce numéro] (https://issuetracker.google.com/issues/62007004), mais je garderais un œil dessus. – CommonsWare
Salut, l'avez-vous réparé? –
Pas vraiment ... pour l'instant, je trier juste la liste avant de l'utiliser. 'Collections.sort (nameOfYourList) {o1, o2 -> Collator.getInstance (Locale.GERMAN) .compare (o1.lastName, o2.lastName)}' – denwehrle