Как записать в базу данных Firebase id создаваемого предмета Android

Проблема заключается в том, что я не могу получить созданный айди. У меня есть пользователь, который создаёт заказ.

введите сюда описание изображения

Созданный заказ попадает в базу данных

введите сюда описание изображения

Он включается в себя информацию, айди отправителя, а также должен иметь свой айди, представленный на скриншоте, с чем у меня и проблема.

Код создания заказа ниже

public class OrderActivity extends AppCompatActivity {   
private EditText mDateField, mModelField, mProblemField, mAdressField;
private Button mConfirm;
private FirebaseUser fuser;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_order);

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle("Заявка");
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    });

    mDateField = findViewById(R.id.date);
    mModelField = findViewById(R.id.model);
    mProblemField= findViewById(R.id.problem_desc);
    mAdressField = findViewById(R.id.adress);
    mConfirm = findViewById(R.id.confirm);
    fuser = FirebaseAuth.getInstance().getCurrentUser();
    final String userID = fuser.getUid();
    final String orderid = "";


    mConfirm.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String date = mDateField.getText().toString();
            String model = mModelField.getText().toString();
            String adress = mAdressField.getText().toString();
            String problem = mProblemField.getText().toString();
            saveOrderInformation(orderid,userID,date,model,adress,problem);
            finish();
            AppUtilities.showToast(OrderActivity.this,"Заявка Успешно отправлена");
        }
    });
}

private void  saveOrderInformation(String id, String sender, String date, String model, String adress, String problem){


    DatabaseReference reference = FirebaseDatabase.getInstance().getReference();

    HashMap<String,Object> hashMap = new HashMap<>();
    hashMap.put("id",id);
    hashMap.put("sender",sender);
    hashMap.put("date",date);
    hashMap.put("model",model);
    hashMap.put("adress",adress);
    hashMap.put("problem",problem);

    reference.child("Orders").push().setValue(hashMap);

}

}

getUid принимает только айди пользователя, который отправляет заявку. А как получить айди данный заявки?


Ответы (1 шт):

Автор решения: Mr.Krotos

Иногда нужно читать документацию. А иногда читать чуть внимательней.

Посмотрите код под заголовком add document.

→ Ссылка