如何将 flutter windows 应用程序与 firebase 集成?
How to integrate flutter windows app with firebase?
我正在尝试使用 flutter 创建 windows 应用程序,我想使用 firebase 进行身份验证并使用 firestore 存储数据,那么我该如何整合它?
-- 首先,在依赖项上使用 firedart 插件。
将 http 包文件导入您的文件并更新您的 pubspec.yaml 文件。
dependencies:
http:
-- 其次,flutter desktop使用HTTP请求。我们添加了 as http 以避免命名冲突。
import 'package:http/http.dart' as http;
-- 生成请求
要生成 post 请求,我们需要数据库屏幕顶部的 URL。
http.post("https://fir-flutted60b0.firebaseio.com/userprofile.json",
body: json.encode());
or
url =" https://fir-flutted60b0.firebaseio.com/userprofile.json";
http.post(url,body:json.encode());
这里我们还在URL的末尾添加了“/userprofile.json”。添加这一点非常重要,因为名称“userprofile”用作字段,用于存储具有由 firebase 自动生成的唯一 ID 的各种属性。
encode()语句用于将数据转换成JSON格式。
-- 代码实现:
sendData() {
http.post("https://fir-flutter-d60b0.firebaseio.com/userprofile.json",
body: json.encode({
'firstName': firstNameController.text,
'lastName': lastNameController.text,
'email': emailController.text,
}));
setState(() {
userProfile.add(Profile(
firstName: firstNameController.text,
lastName: lastNameController.text,
email: emailController.text,
));
});
}
-- 发送 GET 请求
要获取数据,我们将再次需要相同的 URL.
最终响应 = await http.get("https://fir-flutter d60b0.firebaseio.com/userprofile.json?");
在这里,我们采用了一个名为 loadedProfile 的空列表,这是一个小部件列表,每次用户添加新配置文件时都会更新这些小部件。
最终列表 loadedProfile = [];
我们将从数据库中获取JSON数据,因此,我们需要添加一个decode()语句。
注意:要使用 encode() 和 decode() 语句,我们需要导入
import 'dart:convert';
这里 extractedData 是一个变量,将存储配置文件。响应的每个元素都需要转换成一个小部件,以便为用户提供响应 UI,因此我们使用 forEach() 和 add() 语句来识别每个新配置文件并将 Profile 小部件添加到 loadedProfile列表
最终提取的数据 = json.decode(response.bo
准备中UI
新用户小部件
在这个小部件中,我们有三个 TextField() 和一个 FlatButton(),它将从用户那里获取添加并在按下 FlatButton() 时生成一个获取请求。
现在我们需要三个不同的控制器用于所有三个
TextField().
final firstNameController = TextEditingController();
final lastNameController = TextEditingController();
final emailController = TextEditingController();
我正在尝试使用 flutter 创建 windows 应用程序,我想使用 firebase 进行身份验证并使用 firestore 存储数据,那么我该如何整合它?
-- 首先,在依赖项上使用 firedart 插件。 将 http 包文件导入您的文件并更新您的 pubspec.yaml 文件。
dependencies:
http:
-- 其次,flutter desktop使用HTTP请求。我们添加了 as http 以避免命名冲突。
import 'package:http/http.dart' as http;
-- 生成请求 要生成 post 请求,我们需要数据库屏幕顶部的 URL。
http.post("https://fir-flutted60b0.firebaseio.com/userprofile.json",
body: json.encode());
or
url =" https://fir-flutted60b0.firebaseio.com/userprofile.json";
http.post(url,body:json.encode());
这里我们还在URL的末尾添加了“/userprofile.json”。添加这一点非常重要,因为名称“userprofile”用作字段,用于存储具有由 firebase 自动生成的唯一 ID 的各种属性。
encode()语句用于将数据转换成JSON格式。
-- 代码实现:
sendData() {
http.post("https://fir-flutter-d60b0.firebaseio.com/userprofile.json",
body: json.encode({
'firstName': firstNameController.text,
'lastName': lastNameController.text,
'email': emailController.text,
}));
setState(() {
userProfile.add(Profile(
firstName: firstNameController.text,
lastName: lastNameController.text,
email: emailController.text,
));
});
}
-- 发送 GET 请求 要获取数据,我们将再次需要相同的 URL.
最终响应 = await http.get("https://fir-flutter d60b0.firebaseio.com/userprofile.json?"); 在这里,我们采用了一个名为 loadedProfile 的空列表,这是一个小部件列表,每次用户添加新配置文件时都会更新这些小部件。 最终列表 loadedProfile = [];
我们将从数据库中获取JSON数据,因此,我们需要添加一个decode()语句。 注意:要使用 encode() 和 decode() 语句,我们需要导入
import 'dart:convert';
这里 extractedData 是一个变量,将存储配置文件。响应的每个元素都需要转换成一个小部件,以便为用户提供响应 UI,因此我们使用 forEach() 和 add() 语句来识别每个新配置文件并将 Profile 小部件添加到 loadedProfile列表 最终提取的数据 = json.decode(response.bo
准备中UI 新用户小部件 在这个小部件中,我们有三个 TextField() 和一个 FlatButton(),它将从用户那里获取添加并在按下 FlatButton() 时生成一个获取请求。 现在我们需要三个不同的控制器用于所有三个
TextField().
final firstNameController = TextEditingController();
final lastNameController = TextEditingController();
final emailController = TextEditingController();