the*_*del 5 sqlite android kotlin android-room
我有一个这样的数据类
@Entity
data class Question(
@field:SerializedName("question")
var question: String? = null,
@field:SerializedName("answers")
var answers: ArrayList<String?>? = null,
@field:SerializedName("id")
@PrimaryKey
var id: Int? = null
)
Run Code Online (Sandbox Code Playgroud)
然后在 DAO 中,我有这样的保存和获取方法
@Dao
interface QnADao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun saveQuestion(questions:Question)
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun saveAllQuestions(questions: List<Question?>?)
@Query("SELECT * from Question")
fun getAllQnA():List<Question>
}
Run Code Online (Sandbox Code Playgroud)
我正在保存一个列表,Questions然后在检索它们。因此,每当我检索它们时,我都会根据id主键对列表进行排序。
所以,如果我节省了疑问id:254,id:23,id:45和id:92然后我得到它像这样id:23,id:45,id:92和id:254
但是我不需要这样的排序列表,我需要获取保存在数据库中的数据。任何帮助,将不胜感激。谢谢。
尝试使用 autoGenerate = true 作为主键,这样它将按顺序创建 PK 号
参见下面几行
@PrimaryKey(autoGenerate = true)
Run Code Online (Sandbox Code Playgroud)
这样现在您的插入和检索顺序将相同
| 归档时间: |
|
| 查看次数: |
1556 次 |
| 最近记录: |