颤振火力线操作

Posted

技术标签:

【中文标题】颤振火力线操作【英文标题】:flutter firebase wire operation 【发布时间】:2019-05-31 17:29:59 【问题描述】:

这是我在 firebase 实时数据库中添加新地址的代码

Future<bool> addAddress(Address adr)async
  database = FirebaseDatabase(app: app);
await  database
          .reference()
          .child(table_name).child(uid)
          .set(adr).then((onValue)

            print("adress add complected");
            return true;
          ).catchError((onError)
             print("adress add failed $uid");
            print(onError);
            return false;
          );

但它返回错误

无效参数:“地址”实例

我哪里做错了?

【问题讨论】:

您没有从 addAddress 方法的顶层返回任何内容。所以至少(并且可能与错误无关),您需要return await database 【参考方案1】:

您的 set() 输入必须是 Map 类型,因此您必须执行以下操作:

Future<bool> addAddress(Address adr)async
        database = FirebaseDatabase(app: app);
        await  database
          .reference()
          .child(table_name).child(uid)
          .set(
            "country": adr.count,
            "state": adr.state,
            "city": adr.city,
          ).then((onValue)

            print("adress add complected");
            return true;
          ).catchError((onError)
             print("adress add failed $uid");
            print(onError);
            return false;
          );

【讨论】:

我明白,但我需要一个简单的解决方案,比如 java json 不幸的是,看着 API documentation and implementation 在 Flutter 中似乎不可用。

以上是关于颤振火力线操作的主要内容,如果未能解决你的问题,请参考以下文章

将图像从颤振上传到火力基地(没有任何反应)

颤振和火力基地和子集合

如何更新数组中的地图数据?颤振火力基地

我必须从哪里找到 DatabaseEvent 类? (颤振)(火力基地)

颤振谷歌地图和火力基地不能一起工作

从其他特定集合中获取文档计数颤振火力基地