please wait

  • Naveen Shastri Mar-14-2019 06:20:35 AM ( 2 months ago )


    I have a data class like this


    data class Question(
            var question: String? = null,
            var answers: ArrayList<String?>? = null,
            var id: Int? = null


    Then in DAO I have saving and getting methods like this

    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>


    I am saving a list of Questions and then later on retrieving them. So whenever I retrieve them I get the list sorted according to the id which is the primary key.


    So if I am saving questions with id:254, id:23, id:45 and id:92 then I am getting it like this id:23, id:45, id:92 and id:254

    But I don't need a sorted list like that, I need to get the data as it was saved in the database. Any help would be appreciated

  • Nageshwer Reddy Mar-14-2019 06:22:24 AM ( 2 months ago )

    Try to use autoGenerate = true for primary key so it will create PK number in sequence

    See below lines

    @PrimaryKey(autoGenerate = true)

    So that now your insert and retrive order will be same

  • Lucky Negi Mar-14-2019 06:23:41 AM ( 2 months ago )

    You can add a Date field to your Question entity

    var date: Date? = null,

    and order your entities by date

    @Query("SELECT * FROM Question ORDER BY date DESC")

Please login

Similar Discussion

Recommended For You