• 1403/01/09

مشکل لایو دیتا در ساخت دیتابیس روم :

سلام استاد . وقت بخیر . سال و مبارک 

استاد در جلسات mvvm در ساخت دیتابیس room شما با نوشتن کوئری یک مقدار <List<contact رو بر می گردوندید . اما زمانی که من می خوام این کار رو انجام بدم ارور میگیره و میگه که cursor رو نمی تونه به <List<contact بر گردونه . من خودم به الهام از جلسات قبل <List<contact  به  cursor تغیر دادم و در mainActivity لیست مورد نظرم تبدیل کردم اما توی جلسه 82 ما می خوایم که لایو دیتا با  <List<contact ادغام بشه و در این حالت نمیشه cursor رو به صورت لایو دیتا استفاده کرد . من <LiveDada<cursor رو تست کردم اما باز هم به همون اروری بر خوردم که می گفت شما نمی تونید مقداری جز cursor رو برگردونید .

   // این کد رو قبول می کنه
     @Query("SELECT * FROM Contact  ")
    public Cursor AllContact() ;


//این کد رو قبول نمی کنه
    @Query("select * from Contact ")
    public LiveData<ArrayList<contact>> AllContact_2() ;

ارور : 

error: Not sure how to convert a Cursor to this method's return type (androidx.lifecycle.LiveData<java.util.ArrayList<ir.eloim.eloim_stu_pluss.test.part_2.contact>>).
    public LiveData<ArrayList<contact>> AllContact_2() ;

ورژن لایو دیتا و room 

    def room_version = "2.6.1"
    def lifecycle_version = "2.7.0"

ممنون می شم کمکم کنید || با تشکر

  • 1403/01/15
  • ساعت 14:00

سلام.

ممکنه در اون ورژن که استفاده کرده بودم این قابلیت وجود میداشت.

اما در ورژن های جدید دیگه این قابلیت ممکنه نباشید.

تحقیق کنین این امکان در ورژن های جدید هست یا نه. و اینکه روش جایگزین چیه


logo-samandehi