如何将字符串数组列表存储到Firebase?

时间:2020-08-29 13:18:23

标签: java android firebase firebase-realtime-database

我是Android的新手,我有一个爱好用户的ArrayList。我想将这些值存储到User类中,但是我不知道如何存储。

我的意图值:

    comp_phoneNumber = getIntent().getStringExtra("userPhone");
    user_FirstName = getIntent().getStringExtra("user_FirstName");
    user_Gender = getIntent().getStringExtra("user_Gender");
    user_Birthdate = getIntent().getStringExtra("user_Birthdate");

我的Getter-Setter课程:

public class UserHelperClass {

String comp_phoneNumber, user_FirstName, user_Gender, user_Birthdate;

UserHelperClass() {
}

public UserHelperClass(String comp_phoneNumber, String user_FirstName, String user_Gender, String user_Birthdate) {
    this.comp_phoneNumber = comp_phoneNumber;
    this.user_FirstName = user_FirstName;
    this.user_Gender = user_Gender;
    this.user_Birthdate = user_Birthdate;
}

public String getComp_phoneNumber() {
    return comp_phoneNumber;
}

public void setComp_phoneNumber(String comp_phoneNumber) {
    this.comp_phoneNumber = comp_phoneNumber;
}

public String getUser_FirstName() {
    return user_FirstName;
}

public void setUser_FirstName(String user_FirstName) {
    this.user_FirstName = user_FirstName;
}

public String getUser_Gender() {
    return user_Gender;
}

public void setUser_Gender(String user_Gender) {
    this.user_Gender = user_Gender;
}

public String getUser_Birthdate() {
    return user_Birthdate;
}

public void setUser_Birthdate(String user_Birthdate) {
    this.user_Birthdate = user_Birthdate;
}

}

在我的Last_Activity中,我将这些intent值与此代码一起存储。

public void storeNewUserData() {
    rootNode = FirebaseDatabase.getInstance();
    reference = rootNode.getReference("Users");

    UserHelperClass addNewUser = new UserHelperClass(comp_phoneNumber, user_FirstName, user_Gender, user_Birthdate);
    reference.child(comp_phoneNumber).setValue(addNewUser);
}

我想将我的Hobby String Arraylist值与这些值一起存储。如何储存?

1 个答案:

答案 0 :(得分:0)

您可以在获取值后立即使用HashMap来存储值,而无需先将其存储在类中或进行其他活动。除非有必要

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users");

HashMap<String, Object> userMap = new HashMap<>();
userMap. put("comp_phoneNumber", addNewUser.getComp_phoneNumber());
userMap. put("2nd field", value);
userMap. put("3rd field", value);
userMap. put("4th field", value);
ref.child(comp_phoneNumber).updateChildren(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {

        if(task.isSuccessful()){

            Toast.makeText(getActivity(), "User added successfully", Toast.LENGTH_SHORT).show();
            
        }

        else {
            Toast.makeText(getContext(), "Network Error", Toast.LENGTH_SHORT).show();
        }
    }
});

像这样,您应该可以添加详细信息。尽管我对您想对“爱好”说什么感到困惑?