2017-09-14 17 views
0

の場合、Firebaseは特定のName/chrashを持つ子を追加するので、電子メールの名前を持つ子を自動的に作成しますが、プログラムがクラッシュしました。名前が参照(Firebaseユーザーへ)(Android)

DatabaseReference mDatabase; 
private Firebase firebase; 
private FirebaseAuth mAuth; 


firebase.child("new5").setValue(arrayList); 
mDatabase.child("new5").setValue(arrayList); 

この二つのオプションは完全に動作しますが、私は、ユーザーにそれを作るしようとすると:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 
String userEmail = user.getEmail().toString(); 
     Toast.makeText(MainActivity.this,userEmail,Toast.LENGTH_SHORT).show(); 
mDatabase.child(userEmail).setValue(arrayList); 

トーストの作品が、私は最後の行を追加するとき、それは をクラッシュ解決する方法はありますこの状況、または「push()」で作成した子をユーザーと簡単に結びつける方法はありますか?

+0

static String encodeUserEmail(String userEmail) { return userEmail.replace(".", ","); } 

と電子メールを復号するために、次のメソッドを使用することができますエラーは何ですか? –

+0

arrayListとは何ですか?どのタイプの構造をお望みですか? –

+0

それはちょうどchrasl .. coudlntエラーレポート – Rockstone

答えて

1

問題は、コード化されていないDatabaseReferenceuserEmailを使用しようとしていることです。 Firebaseでは、.(ドット)のような重要な記号は使用できません。だから、これを解決するために、あなたはこのような電子メールアドレスをエンコードする必要があります。

[email protected] - >名@電子メール、これを達成するには、COM

を、私は使用することができrecomand次methid:

static String decodeUserEmail(String userEmail) { 
    return userEmail.replace(",", "."); 
} 
関連する問題