androidでroomデータベースによる書籍リストアプリを作ろうとしています。
roomのお作法に乗っ取り、Entityを以下のように定義しています。
kotlin
1@Entity(tableName = "book_table", indices = arrayOf(Index(value = ["title"], unique = true))) 2data class Book ( 3 @PrimaryKey(autoGenerate = true) val id: Int = 0, 4 @ColumnInfo(name = "date") val date: Date = Date(), 5 @ColumnInfo(name = "title") var title: String = "UnKnown")
Daoは以下のように定義しています。
kotlin
1 2@Dao 3interface BookDao { 4 @Query("SELECT * FROM book_table ORDER BY title ASC") 5 fun getAllBooks() : Flow<List<Book>> 6} 7
order by title ASCにより、書籍のタイトル順にソートされることを期待しているのですが、
英数字だと正しく動作するのですが、日本語についてはソートされません。
現実主義勇者の王国再建記
異世界のんびり農家
魔女の下僕と魔王のツノ
・・・
といった具合で、漢字の読み仮名ではチグハグに並んでしまいます。
質問したいのは以下2点です。
roomの機能で漢字対応したソートが可能であればその方法を知りたい。
roomで取得したデータを、何か別の方法で漢字対応ソートする必要があるのであれば、
その方法を知りたい。
以上、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/01 23:25