Arrays 如何通过Unity SDK将阵列存储到Firebase
我正在尝试将Int32[]数组和bool[]数组存储到Firebase,但它对我不起作用。我搜索了很多地方,但找不到解决办法。谁能告诉我,如何从Unity将一个数组存储到Firebase实时数据库中 我正在使用Arrays 如何通过Unity SDK将阵列存储到Firebase,arrays,firebase,unity3d,firebase-realtime-database,Arrays,Firebase,Unity3d,Firebase Realtime Database,我正在尝试将Int32[]数组和bool[]数组存储到Firebase,但它对我不起作用。我搜索了很多地方,但找不到解决办法。谁能告诉我,如何从Unity将一个数组存储到Firebase实时数据库中 我正在使用System.Reflection获取类UserPrefs的所有公共静态字段 这是代码,我正在尝试做这项工作 System.Type type = typeof(UserPrefs); FieldInfo[] fields = type.GetFields(
System.Reflection
获取类UserPrefs
的所有公共静态字段
这是代码,我正在尝试做这项工作
System.Type type = typeof(UserPrefs);
FieldInfo[] fields = type.GetFields();
foreach (var field in fields) {
if (user != null)
dbReference.Child("users").Child(user.UserId).Child(field.Name).SetValueAsync(field.GetValue(null));
else
Debug.LogError("There is no user LoggedIn to write...");
}
以上代码保存除数组以外的所有值。阵列上给出的错误如下:
InvalidCastException:无法从源类型强制转换到目标类型
类型。
Firebase.Database.Internal.Utilities.Validation.ValidateWritableObject
(System.Object对象)
非常感谢您的帮助……您需要这样的课程
public class MyClass
{
public int[] intArray = new int[10];
}
public void WriteArrays()
{
MyClass temp = new MyClass();
for (int i = 0; i < temp.intArray.Length; i++)
{
temp.intArray[i] = i;
}
databaseReference.Child("MyArrayNode").SetRawJsonValueAsync(JsonUtility.ToJson(temp));
}
然后您可以像这样将该对象写入Firebase
public class MyClass
{
public int[] intArray = new int[10];
}
public void WriteArrays()
{
MyClass temp = new MyClass();
for (int i = 0; i < temp.intArray.Length; i++)
{
temp.intArray[i] = i;
}
databaseReference.Child("MyArrayNode").SetRawJsonValueAsync(JsonUtility.ToJson(temp));
}
public void WriteArrays()
{
MyClass temp=新的MyClass();
对于(int i=0;i
数据库引用是对根目录的引用
同样,您也可以对您的bool[]执行此操作。对于更通用的解决方案,您可以复制建议的JsonHelper类 用法示例:
string jsonArray = JsonHelper.ToJsonArray(mySerializeableList);
var nodeToUpdate = this.dbReference.Child("wantedNode");
nodeToUpdate.SetRawJsonValueAsync(jsonArray);
可以有许多其他类型的数组。我需要使代码通用。为所有可能的数组创建类,在循环中迭代,然后保存到Firebase,这不是一个好的解决方案。所有这些都将在加载数据时再次完成。将json传递给firebase是与firebase通信的首选方式。所以,你是说我需要设计自己的json对象,以防我想将数组保存到Firebase。如果是这样的话,您能给我一些示例代码来为数组生成json吗?我的意思是,无论何时您想要向Firebase传递多个内容,都可以使用json。您可以使用Unity的内置json实用程序。