Android SQLite 动态插入排序(ASD 或 DESC),可能吗?

Android SQLite dynamically insert sorting (ASD or DESC), is it possible?

我正在尝试使用 dao(房间)的一种方法通过特定排序动态获取项目,但编译器为下一个 SQL 查询提供了错误

所以这不可能?我是否必须创建具有不同排序的重复方法?

您不能在 sqlite 查询中执行 ifelse 逻辑

你应该这样使用@RawQuery

 @Dao
 interface RawDao {
   @RawQuery
   fun getTestItems(SupportSQLiteQuery query): DataSource.Factory
 }

 // Usage of RawDao
 // for example set: restOfQuery = sortBy + "ASC"
 val query = SimpleSQLiteQuery(
     "SELECT * FROM Items ORDER BY ?",
     new Object[]{ restOfQuery }); 
 val result = rawDao.getTestItems(query);

或者另一种方法是使用多个函数进行多次排序。