1
私は辛抱強くお待ちください。まだJavaを学習していますが、私はまだ分かりません。アップデート(設定されていません)Android Firebaseの子データ
私はFirebaseに接続する簡単なログイン/登録アプリを作成しました。しかし、他のデータを変更することなく、データベースの一部のデータを更新したいと思います。たとえば、ログインしているユーザーの場合、以下のコードで名前と住所を入力できます。しかし、別の活動で、自分の年齢を追加できるようにしたいのであればどうでしょうか? set()を使うと他の日付はすべて上書きされますが、update()の使い方は分かりません。
私はこのフォーラムや他の場所を検索しましたが、私の状況に適用するのに十分な回答は実際には分かりません。もし誰かが私が本当にそれを感謝するのを助けることができます。
おかげ
private void saveUserInformation(){
String name = editTextName.getText().toString().trim();
String address = editTextAddress.getText().toString().trim();
UserInformation userInformation = new UserInformation(name, address);
FirebaseUser user = firebaseAuth.getCurrentUser();
databaseReference.child(user.getUid()).setValue(userInformation);
Toast.makeText(this, "Information Saved...", Toast.LENGTH_SHORT).show();
}
と
public class UserInformation {
public String name;
public String address;
public UserInformation(String name, String address) {
this.name = name;
this.address = address;
}
}
ありがとう、私はこれを後で試してみる。他の情報を別々に(後ろに)追加すると、名前と住所が削除されませんか?私はset(),,, – Adrian
@Adrianではなく、名前とアドレスを持つユーザーを作成してから、メインの子が 'userId'、2つのサブファイル' name'と 'address'を持つJSONツリーを取得しなければならないと思った。今度はあなたの 'userId'子にデータを追加したい場合は' age'のような新しいサブクラスを作成する必要があります。あなたはそれを私が記述した方法で行い、データは削除または置換されません。 'name'と' address'を削除する唯一の方法は、 'age'フィールドだけを持つ新しいClassを作成し、' databaseReference.child(user.getUid())。setValue(objectWithAge); 'のように設定した場合です。 'update()'について - 私は年齢を指定して新しいHashMapを作成することでそれを行うことができると信じています。 – tomiQrsd
TomiQrsd - 本当にありがとう、本当に理解しやすく、完璧に動作します。正確なコードとFirebaseチュートリアルのラインを提供してくれてありがとう、私のプロジェクトに合った他のFirebaseの例を理解して翻訳するのに役立ちます。乾杯 – Adrian