Вы не можете использовать динамический ключ в классе Java (так называемый POJO), который вы записываете в базу данных. Но вы можете легко использовать динамический ключ, когда просто записываете примитивное строковое значение:
String combined = medication + " - " + status + " at " + time + " on " +` date;
String key = Med_History().push().getKey();
Med_History.child(SignInIC.CustomUID).child(key).setValue(combined);
Хитрость в том, что push()
является чисто клиентской операцией, поэтому вы можете безопасно вызывать ее для создания идентификатора, который вы используете в другом месте.
Кстати, вышеприведенное имеет тот же результат, что и немного более идиоматический:
String combined = medication + " - " + status + " at " + time + " on " +` date;
Med_History.child(SignInIC.CustomUID).push().setValue(combined);