使用 Android 中的定界符在 Firebase 中保存数据

Saving data in Firebase using delimiter in Android

我试图在我的 firebase 中保存数据,使其看起来像这样:

我知道在firebase中手动输入的方式是["marie", "femmehacks"] 但是我如何使用定界符从 android 输入它。请注意,我需要使用 Java 7 并且 String.join 不是 android.

中的解决方案

这是我的代码:

 StringBuilder newstring = new StringBuilder();
    for (String movie: movies){
        newstring.append(movie);
        newstring.append(",");
    }

    String all = newstring.toString();
    all = all.substring(0, all.length() - ",".length()); 

根据此代码的输出现在是:

["marie,femmehacks"] 

但我希望它看起来像

["marie", "femmehacks"] 

这样它就会按照上图保存在 firebase 中。有什么帮助吗?

您应该将数据推送为 ArrayList<String>

ArrayList<String> movies = <enter code to get list>
FirebaseDatabase.getInstance().getReference().child(“yourChild”).setValue(movies);

使用此功能TextUtils.join(CharSequence delimiter, Iterable tokens)

我从这里得到的 https://developer.android.com/reference/android/text/TextUtils#join(java.lang.CharSequence,%20java.lang.Iterable)

android.text.TextUtils
public static String join(@NonNull CharSequence delimiter,
                          @NonNull Iterable tokens)
External annotations available: 
Parameter delimiter: @android.support.annotation.NonNull
Parameter tokens: @android.support.annotation.NonNull

你可以这样试试。 对我有用。

List<String> stringList = new ArrayList<>();
private String membersName = "";

for (UserInfo userInfo : userInfoList) {
    stringList.add(userInfo.getUsername());
}

membersName = TextUtils.join(", ", stringList);

你可以这样保存:

FirebaseDatabase.getInstance().getReference().child(“ChildName”).setValue(membersName);