Создание настраиваемых полей в базе данных Layout и Firebase RT в Android Studio - PullRequest
1 голос
/ 21 июня 2020

Создаю приложение для владельцев ателье по пошиву одежды. Они могут сохранить измерения заказчика. Для этого я создал pojo для каждого предмета, такого как класс рубашки, класс брюк (pojo). Но я хочу добавить функцию, например, если владелец магазина решит добавить дополнительное поле, например, перед, плечо и т. Д. c. Я использую Firebase RT DB для хранения данных.

DatabaseReference rootRef;

rootRef = FirebaseDatabase.getInstance().getReference();

Shirtpojo shirt = new Shirtpojo (height, chest);

rootRef.child("shirt").setValue(shirt);

Здесь параметры в Shirtpojo предопределены, например,

class Shirtpojo{
String height,chest;
getHeight(){...}
setHeight{...}
}

Но если портной хочет добавить собственные поля он не может этого сделать. Также для сохранения последующих значений этого нового параметра мне понадобится новый макет (новый текст редактирования) в xml. Как я могу этого добиться? xml скриншот макета

1 Ответ

1 голос
/ 21 июня 2020

К сожалению, вы не можете указать Firebase разместить настраиваемые поля на карте или что-то в этом роде.

Лучшее, что я могу придумать, - это создать дочерний узел для настраиваемых свойств.

"shirt": {
  "height": 173,
  "chest": 42,
  "customProperties": {
    "preferedName": "puf",
    "preferedColor": "yellow"
  }
}

А затем класс Java:

public class Shirtpojo {
  public double height;
  public double chest;
  public Map<String, Object> customProperties;
}

Примечание: приведенный выше синтаксис с полями publi c является минимальным POJO, но вложенная карта также будет работать, если вы используете геттеры и сеттеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...