2
我正在編寫一個Android應用程序,我試圖從其Firebase相關表中檢索ID爲User.java
的對象。我想知道如何從Java端獲得它,只要我嘗試了Firebase Official docs中所述的示例,但它們都不適合我。通過Firebase中的ID檢索Java對象
有鑑於此SO問題如例如,我想用下面的界面的方法:
public User readUser(String userId);
換句話說,我想要執行:
readUser(-lnnROTBVv6FznK81k3n)
和檢索相關聯的User
對象
謝謝
----------------------------------------------- - - - - - - - -編輯 - - - - - - - - - - - - - - - - - ----------------------------:
我設法與該代碼值:
public void retrieveUser(final String email){
firebaseUsersRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot messageSnapshot: dataSnapshot.getChildren()) {
if(messageSnapshot.getKey().equals(Email.encodeID(email))){
retrievedUser = messageSnapshot.getValue(User.class);
break;
}
}
}
@Override
public void onCancelled(FirebaseError firebaseError) { }
});
}
請勿檢索用戶是attribute
,因此field
。我正在從代碼訪問該字段,但是即使我看到調試器上的值爲,但在調用代碼上爲空。
任何提示?不容我剛剛返回它的方法本身,所以這將是?:
public User retrieveUser(final String email);
感謝
感謝您的回答,但是,請您將完整的方法?我不確定如何檢索實際用戶作爲對象 –
我試圖將其作爲一種方法,但您有一個內部類,在您從內部調用本地字段時會引起問題。但是你可以定義一個用戶實例並調用這個代碼來實例化它。那麼你可以用這個對象做你想做的事。 –
謝謝朋友,請把它翻譯成代碼?我不太明白 –