我要檢查,如果用戶是特定團隊的成員,如果用戶不是他將被要求加入,如果他是,那麼他將被引導到一個頁。我確實發現了一些類似的問題,但不知何故,我仍然無法將用戶添加到數據庫中。下面是我的代碼,每當我點擊其中一個列表時,此代碼就會崩潰。火力地堡 - 檢查是否存在的數據,並將它們添加
databaseMembers = FirebaseDatabase.getInstance().getReference("members");
listViewTeams.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//getting the selected team
Team team = teams.get(i);
checkMember();
//creating an intent
Intent intent = new Intent(getApplicationContext(), ChatRoomActivity.class);
//putting team name and id to intent
intent.putExtra(TEAM_ID, team.getTeamId());
intent.putExtra(TEAM_NAME, team.getTeamName());
//starting the activity with intent
startActivity(intent);
}
});
private void checkMember(){
FirebaseUser user = firebaseAuth.getCurrentUser();
final String teamMember = user.getEmail();
databaseMembers.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.hasChild(teamMember)){
finish();
}
else{
databaseMembers.push().setValue(teamMember);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
的logcat:
04-07 12:44:41.167 19091-19091/com.example.user.stfv2 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.user.stfv2, PID: 19091
com.google.firebase.database.DatabaseException: Invalid Firebase Database path: [email protected] Firebase Database paths must not contain '.', '#', '$', '[', or ']'
at com.google.android.gms.internal.zzbtf.zzjl(Unknown Source)
at com.google.firebase.database.DataSnapshot.hasChild(Unknown Source)
at com.example.user.stfv2.MainActivity$8.onDataChange(MainActivity.java:352)
at com.google.firebase.database.Query$1.onDataChange(Unknown Source)
at com.google.android.gms.internal.zzbpx.zza(Unknown Source)
at com.google.android.gms.internal.zzbqx.zzZS(Unknown Source)
at com.google.android.gms.internal.zzbra$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
我的數據庫:
當 「恆」 團隊的用戶點擊,它會檢查,如果用戶的電子郵件存在於數據庫中,如果ISN然後它會將用戶的電子郵件添加爲團隊成員。我可以添加創建團隊的用戶,但似乎無法添加想要稍後加入的用戶。真的很感謝有人能幫助我。如果缺乏信息,請告訴我。
我應該在哪裏把這些方法呢?代碼中的任何地方?對不起,我不知道如何使用編碼/解碼方法。 – Zephyros
你介意給我解釋我應該如何使用這些代碼? – Zephyros
在你需要他們的活動或輔助課堂上。 –