android - 房间持久性库查询 COLLATE LOCALIZED 不起作用

标签 android database sqlite orm android-room

我正在使用新的 Room Persistance Library在今年的 Google I/O 上发布,到目前为止它运行良好,但不知何故无法使用 UNICODELOCALIZED 对结果进行排序。唯一有用的是 NOCASE,这对我来说没用。

有什么办法可以实现这个功能吗?

@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)

最佳答案

你必须使用这些版本的房间

compile "android.arch.persistence.room:runtime:1.1.1"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"

更新房间梯度线后

你可以使用这个功能

@ColumnInfo(collat​​e = ColumnInfo.NOCASE)

关于android - 房间持久性库查询 COLLATE LOCALIZED 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44135497/

相关文章:

java - setResult 无法在实现 onClickListener 的 java 类中工作

Android 光束 Intent 过滤器

android - Action 模式栏下推工具栏

mysql - 从签到日期列表中获取持续时间

sqlite - SQLITE中的组联系人中的GROUP BY

javascript - SQLite Nativescript中按列名读取查询结果

Android:以编程方式获取电池序列号

php - 使用 PHP 从 MySQL 数据库中获取值

java - 使用 rs(next) 但在 SQLite 中得到 TYPE_FOWARD_ONLY

python - sqlalchemy 有没有办法使用预先存在的数据库生成模型?