ユーザーを認証してFirebaseUser
テーブルを更新した後、年齢、性別、住所などの余分なデータを保存する必要があります。ユーザーノードを作成し、 FirebaseUser
〜UID。私のやり方は正しい?誰かが私の理解を助けることができれば、感謝しています。ありがとうございました。Firebaseユーザーを拡張する
1
A
答えて
3
Firebaseでは一般的には、helper class
(model class
、POJO class
)ユーザーのために作成することであり、この達成するために、このcorect方法:
public class User implements Serializable {
private String name;
private int age;
private String gender;
private String address;
private String email;
public User() {}
public User(String name, int age, String gender, String address, String email) {
this.name = name;
this.age = age;
this.gender = gender;
this.address = address;
this.email = email;
}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public int getAge() {return age;}
public void setAge(int age) {this.age = age;}
public String getGender() {return gender;}
public void setGender(String gender) {this.gender = gender;}
public String getAddress() {return address;}
public void setAddress(String address) {this.address = address;}
public String getEmail() {return email;}
public void setEmail(String email) {this.email = email;}
}
ユーザーに固有の識別子が必要なため、uid
が最適です。あなたは次のコード行を使用してuid
を取得できます。
String uid = FirebaseUser.getInstance().getCurrentUser().getUid();
は、あなたのデータベースにデータを挿入するには、Userクラスのオブジェクトを作成する必要があります。あなたは、単にあなたのFirebaseデータベースからのデータを追加/取得するために公共のセッターとゲッターを使用することができます。このでは
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
User user = new User("John", 25, "male", "101 Main Street", "[email protected]");
usersRef.child(uid).setValue(user);
:だから、次のコードを使用してください。私は、ユーザー間の識別子として `uid`を使用している
Firebase-root
|
--- users
|
--- uid1
|
--- name: "John"
|
--- age: 25
|
--- gender: "male"
|
--- address: "101 Main Street"
|
--- email: "[email protected]"
2
current user's unique IDあなたが使用することができますを取得するには、正しいです:
FirebaseUser.getInstance().getCurrentUser().getUid();
そして、あなたは、その後、キーとしてのようなものというユニークなIDを使用してFirebaseリアルタイムデータベースにユーザーに関する詳細情報を格納することができます
をFirebaseUser user = FirebaseUser.getInstance().getCurrentUser();
String userId = user.getUid();
DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference("users");
HashMap<String, Object> userDetails = new HashMap<>();
message.put("name", "P. Sherman");
message.put("age", 50);
message.put("gender", "male");
message.put("address", "42 Wallaby Way, Sydney");
message.put("email", user.getEmail());
messagesRef.child(userId).setValue(userDetails);
関連する問題
- 1. WebアプリケーションのFirebase Analytics(Firebase拡張後)
- 2. iOS用のFirebaseアナリティクスToday拡張機能(ウィジェット拡張機能)
- 3. 拡張ユーザー登録フォームエラー
- 4. 拡張可能なrecyclerviewとfirebase
- 5. Chrome拡張機能のFirebase Cloud通知
- 6. Chrome拡張機能のFirebase認証
- 7. Firebase拡張パッシブ通知の解析
- 8. エアネイティブ拡張:iOSパッケージ依存(Firebase)
- 9. 古い認証ユーザーを拡張認証ユーザーに変換する
- 10. iMessage拡張機能でFirebaseを使用するとクラッシュする
- 11. Firebase Storageで拡張子のないファイルを検索する
- 12. FBA拡張サイトのユーザーがNTLMユーザーを解決できるか
- 13. ASP.NETユーザーを拡張する方法を識別する
- 14. Fiddler/Load and Saveユーザー設定/拡張子
- 15. djangoでのユーザー管理フォームの拡張
- 16. MediaWiki新規ユーザー登録拡張
- 17. Microsoft.Graph API設定ユーザー拡張プロパティ
- 18. Djangoで2レベルのユーザー拡張
- 19. テンプレート内のユーザー '拡張モデル'へのアクセス
- 20. ランダムアクセスは、ユーザーの拡張グラフAPIで
- 21. firebaseバンドルを使用したGTM v5による拡張eコマースタグ
- 22. HadoopのMapperを拡張するクラスを拡張する
- 23. 複数のモデルを作成してDjangoユーザーを拡張する
- 24. jQueryの(拡張)(拡張中)
- 25. SilverStripeモジュール拡張の拡張
- 26. ユーザーにChromeの拡張機能のアンインストールを強制する
- 27. kohanaユーザーの認証モジュールを拡張する方法
- 28. iosの拡張機能からgoogleユーザーを取得する
- 29. djangoユーザーのデフォルトモデルデータベースを拡張する方法
- 30. 新しいユーザー作成フォームを拡張するDjango
:
あなたのデータベースには、次のようなもののようになります。できるだけ 'messagesRef.child(uid).setValue(user);'行で使用されています。あなたがpojoクラスのフィールドとして 'uid'を必要とする場合は、それに応じて追加してください。 –
私の答えより深く進むためのupvoteを持っています! – Grimthorr
ありがとう! @Grimthorr –