【问题标题】:About Firebase real time database关于 Firebase 实时数据库
【发布时间】:2020-09-23 05:13:23
【问题描述】:

我正在 Flutter 中开发 Firebase 实时数据库。我将用户信息及其相应数据存储在数据库中。我的代码如下:

//User Auth Class

class UserAuth{
  final String id;
  final String email;
  final String token;

  UserAuth({@required this.id, @required this.email, @required this.token});
}

//User Details Class for storing data of corresponding user

class UserDetails{
  final String userDetailsId;
  final String name;
  final String email;

  UserDetails({@required this.userDetailsId,@required this.name, @required this.email});
}

//I am using this code to add userDetails in database.

  List<UserDetails> _detailsList = [];
  UserDetails _details;

Future<bool> addUserDetails(String username, String email) async {
    _isLoading = true;
    notifyListeners();
    final Map<String, dynamic> userDetails = {
      'username': username,
      'email': email,
    };
    try {
      final http.Response response = await http.post(
          'https://intro-to-firebase-711d4.firebaseio.com/Users.json',
          body: json.encode(userDetails));

      if (response.statusCode != 200 && response.statusCode != 201) {
        _isLoading = false;
        notifyListeners();
        return false;
      }

      final Map<String, dynamic> responseData = json.decode(response.body);

      _details = UserDetails(
          userDetailsId: responseData['name'], name: username, email: email);

      _detailsList.add(_details);
      _isLoading = false;
      notifyListeners();

      return true;
    } catch (error) {
      _isLoading = false;
      notifyListeners();
      return false;
    }
  }

现在我想获取以下突出显示的用户 id 以及如何获取它。我在 Flutter 中使用作用域模型作为状态管理。

【问题讨论】:

    标签: flutter flutter-dependencies


    【解决方案1】:

    到目前为止,我是用 javascript 完成的,但在文档中,flutter 似乎并没有什么不同:

    private void writeNewUser(String userId, String name, String email) {
        User user = new User(name, email);
    
        mDatabase.child("users").child(userId).setValue(user);
    }
    

    https://firebase.google.com/docs/database/android/read-and-write?authuser=0

    这是文档中显示的示例。使用.child('users'),您可以获得正确的部分.child(userId),您可以访问这些值。

    你现在要做的就是定义变量userId

    颤动

    您可以通过以下方式实现此目的

      stream: FirebaseDatabase.instance
            .reference()
            .child('users')            
            .equalTo(userId)
            .onValue,
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 1970-01-01
      • 2023-02-04
      • 2018-04-07
      • 2021-06-20
      • 2020-07-05
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多