Size: a a a

Android arch. components

2018 July 19

Е

Евгений in Android arch. components
спасибо.
источник
2018 July 27

АХ

Анастасия Хоревич in Android arch. components
Привет! Запуталась в TypeConverters. Не получается преобразить List<String> в Entity. Google работает, активно искала, но не пойму в чем косяк.
источник

VR

Vitaliy Raevskiy in Android arch. components
public class Convert {
 @TypeConverter
 public static ArrayList<String> fromString(String value) {
     Type listType = new TypeToken<ArrayList<String>>() {}.getType();
     return new Gson().fromJson(value, listType);
 }

 @TypeConverter
 public static String fromArrayList(ArrayList<String> list) {
     Gson gson = new Gson();
     String json = gson.toJson(list);
     return json;
 }
}

-----

@Database (entities = {MainData.class}, version = 1)
@TypeConverters({Convert.class})
источник

VR

Vitaliy Raevskiy in Android arch. components
источник

АХ

Анастасия Хоревич in Android arch. components
я так и сделала
источник

АХ

Анастасия Хоревич in Android arch. components
в ответ приходит

Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).
источник

Р

Ростислав in Android arch. components
Покажите код POJO
источник

АХ

Анастасия Хоревич in Android arch. components
@Entity(tableName = "session")
public class SessionEntity {

   @PrimaryKey(autoGenerate = true) @NonNull
   int uid;
   @Embedded
   public List<CartCount> cartCount;
   public String cDate;

   @ColumnInfo(name = "favorites")
   public List<String> favorites;

   @ColumnInfo(name = "viewed")
   private List<String> viewed;
   private boolean backordered;

   public SessionEntity() {
   }

   @Ignore
   public SessionEntity(List<CartCount> cartCount, String cDate, List<String> favorites, List<String> viewed, boolean backordered) {
       this.cartCount = cartCount;
       this.cDate = cDate;
       this.favorites = favorites;
       this.viewed = viewed;
       this.backordered = backordered;
   }

   @NonNull
   public int getUid() {
       return uid;
   }

   public void setUid(@NonNull int uid) {
       this.uid = uid;
   }

   public List<CartCount> getCartCount() {
       return cartCount;
   }

   public void setCartCount(List<CartCount> cartCount) {
       this.cartCount = cartCount;
   }

   public String getcDate() {
       return cDate;
   }

   public void setcDate(String cDate) {
       this.cDate = cDate;
   }

   public List<String> getFavorites() {
       return favorites;
   }

   public void setFavorites(List<String> favorites) {
       this.favorites = favorites;
   }

   public List<String> getViewed() {
       return viewed;
   }

   public void setViewed(List<String> viewed) {
       this.viewed = viewed;
   }

   public boolean isBackordered() {
       return backordered;
   }

   public void setBackordered(boolean backordered) {
       this.backordered = backordered;
   }
}
источник

Р

Ростислав in Android arch. components
Так у вас нету паплик констуктора
источник

АХ

Анастасия Хоревич in Android arch. components
сам json


{
       "cart_count": [
           {
               "count": 2,
               "barcode": "4640015246534"
           },
           {
               "count": 2,
               "barcode": "4640015246534"
           }
       ],
       "c_date": "2018-07-18T15:43:00",
       "favorites": [
           "4640015246534",
           "4650071252011"
       ],
       "viewed": [
           "4607191221533",
           "4650071252011",
           "4640015246534"
       ],
       "backordered": false
   }
источник

АХ

Анастасия Хоревич in Android arch. components
Ростислав
Так у вас нету паплик констуктора
то есть нет?
источник

АХ

Анастасия Хоревич in Android arch. components
public SessionEntity() {
   }
источник

Р

Ростислав in Android arch. components
А, стоп, не заметил его)
источник

АХ

Анастасия Хоревич in Android arch. components
в том то и  суть что есть)) вот и не пойму я почему оно ругается
источник

Р

Ростислав in Android arch. components
Так то он не usable, думаю, те поля что не обьявлены autoGenerate, должны там инициализироваться
источник

АХ

Анастасия Хоревич in Android arch. components
public SessionEntity(List<CartCount> cartCount, String cDate, List<String> favorites, List<String> viewed, boolean backordered) {
       this.cartCount = cartCount;
       this.cDate = cDate;
       this.favorites = favorites;
       this.viewed = viewed;
       this.backordered = backordered;
   }
источник

Р

Ростислав in Android arch. components
Он ведь обьявлен у вас как @Ignore
источник

АХ

Анастасия Хоревич in Android arch. components
или вы не об этом?
источник

АХ

Анастасия Хоревич in Android arch. components
да, потому что если 2 конструктора - пустой и с аргументами - то ругается
источник

АХ

Анастасия Хоревич in Android arch. components
что должен быть один
источник