2017-05-02 1 views
0

오브젝트를 FirebaseDatabase으로 푸시하고 방금 입력 한 오브젝트의 키를 얻으려는 시도는 Firebase입니다. 나는 Get the pushed ID for specific value in firebase android을 보았고 그것을 사용하려고 노력하고 있지만 작동하지 않습니다. onCreateFirebaseDatabase에서 키를 가져올 수 없습니다.

mDatabaseRef = FirebaseDatabase.getInstance().getReference().child("People"); 

에서 DatabaseReference

초기화 실제 기능 -

private String pushPersonToFirebase() { 

     Person newPerson = new Person(); 
     String firstName = mFirstNameTextView.getText().toString(); 
     String lastName = mLastNameTextView.getText().toString(); 

     if(!firstName.equals("") && !lastName.equals("")) { 
      newPerson.setFirstName(firstName); 
      newPerson.setLastName(lastName); 
      newPerson.setImgPath(anonymousPeople.get(indexAnon).toString()); 
      mDatabaseRef.push().setValue(newPerson); 
      return mDatabaseRef.getKey(); //This always returns "People" need it to return the key of the object that was just pushed 
     } else { 
      Toast.makeText(this, "You didn't enter all fields", Toast.LENGTH_SHORT).show(); 
      return ""; 
     } 

    } 

답변

1

이 방법을 사용하여 키 얻을 수 있습니다 ..

String key = mDatabaseRef.push().getKey(); // its your key 
-- code--- 
newPerson.setFirstName(firstName); 
newPerson.setLastName(lastName); 
newPerson.setImgPath(anonymousPeople.get(indexAnon).toString()); 
--- code --- 
mDatabaseRef..child(key).setValue(newPerson); 
관련 문제