【问题标题】:How can I store an String Arraylist into Firebase?如何将字符串数组列表存储到 Firebase 中?
【发布时间】:2020-08-29 13:18:23
【问题描述】:

我是 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 中,我使用此代码存储这些意图值。

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 值。如何存储?

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    您可以简单地使用 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();
            }
        }
    });
    
    

    这样您应该可以添加详细信息。虽然我不知道你想对爱好说些什么?

    【讨论】:

    • 谢谢你的朋友,我用你的代码解决了我的问题!
    猜你喜欢
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 2017-09-27
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多