我使用的是在今年的谷歌I/O發佈了新的Room Persistance Library和它的工作很大,到目前爲止,但不知何故,它無法訂購與UNICODE或屬地化結果。唯一的工作是NOCASE這是無用的在我的情況。間持久化圖書館查詢COLLATE本地化工作不
有什麼辦法可以實現這個功能嗎?
@Dao
public interface ContactDao {
@Query("SELECT * FROM contact ORDER BY lastName COLLATE LOCALIZED")
Flowable<List<Contact>> getAll();
}
如果我建立查詢像上面我得到一個錯誤:在列定義如下方式的時間
Error:(21, 29) error: There is a problem with the query: [SQLITE_ERROR]
SQL error or missing database (no such collation sequence: LOCALIZED)
如果我理解正確的話,使用'COLLATE LOCALIZED',你需要聲明的一部分「CREATE TABLE」語句中的列約束。看起來你可以使用'Migration'來編寫你自己的'CREATE TABLE'語句,儘管我不清楚如何爲初始表創建(而不是升級)創建一個'Migration'。我不知道你是否是提交[這個問題]的人(https://issuetracker.google.com/issues/62007004),但我會密切關注它。 – CommonsWare
嗨,你解決了嗎? –
不是......目前我只是在使用之前對列表進行排序。 'Collections.sort(nameOfYourList){o1,o2 - > Collator.getInstance(Locale.GERMAN).compare(o1.lastName,o2.lastName)}' – denwehrle