简体   繁体   English

如何将字符串 Arraylist 存储到 Firebase 中?

[英]How can I store an String Arraylist into Firebase?

I am new in Android, I have an ArrayList that hobbies of users.我是新来的Android,我有一个ArrayList那个爱好用户。 I want to store these values into my User class but I don't know how to store.我想将这些值存储到我的用户 class 中,但我不知道如何存储。

My intent values:我的意图价值观:

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

My Getter-Setter class:我的 Getter-Setter class:

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;
}

}

In my Last_Activity, I store these intent values with this code.在我的 Last_Activity 中,我使用此代码存储这些意图值。

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);
}

I want to store my Hobby String Arraylist values with these values.我想用这些值存储我的爱好字符串 Arraylist 值。 How can I store?我该如何储存?

You can simply use a HashMap to store the values as soon as you get them without needing to store them in a class first or going to another activity.您可以简单地使用 HashMap 来存储这些值,而无需先将它们存储在 class 中或转到另一个活动。 Unless that is necessary除非有必要

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();
        }
    }
});

Like this you should be able to add the details.像这样你应该能够添加细节。 Although I am confused as to what was that you wanted to say about Hobbies?虽然我很困惑你想说的关于兴趣爱好的是什么?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM