2017-03-25 12 views
2

これは間違った質問かもしれませんが、私はGoogleのfirebaseサイトで例を見つけることができませんでした。私は"First Name"のfirebaseデータベースにキーを持っているし、私はAndroidアクセスFirebase with keys with spaces

FirstNameClass firstName = dataSnapshot.getValue(FirstNameClass.class); 

FireNameClass{ 
    Private String FirstName; 
    FirstName(){ 
    } 
    FirstName(String firstName){ 
     this.FirstName = firstName; 
    } 
} 

を呼び出す場合は、スペースで姓の代わりに、まず名前にマップしようとしているので、それはnullを返します。私のすべての値には設計によってちょうどスペースがあり、可能ならばこのデザインを保つために余分な作業をしていきたいので、これを達成するための別の方法はありますか?

答えて

3

@PropertyNameを試してみてください。あなたのモデルは次のようになります。

FireNameClass{ 

    @PropertyName("First Name") 
    public String FirstName; 
    ... 
} 

注:私はそれを試していません。それが動作しない場合、私はそれを行うための別の方法を知っていると思うし、この答えを更新します

希望これは

+1

あなたは素晴らしいです!それは完全に動作します。他の方法がよりクリーンな方法か、まったく違うのですか? – Torewin

+0

別の方法があります。スペースを "_"などで置き換え、データベースから値を取得するときにスペースを置き換えます。しかし、私は上記の方がはるかにクリーンであると思います。 – koceeng

0

に役立ちます。これは、私が道のほとんどを持って、しかし、私はどこ修正するために必要な@ PropertyNameは行った。この回答を確認してください: https://stackoverflow.com/a/42635329/4151220