-- 首先,使用firedart依赖项上的插件。
将 http 包文件导入到您的文件中并更新 pubspec.yaml 文件。
dependencies:
http:
-- 其次,flutter桌面使用HTTP请求。我们添加了 http 以避免命名冲突。
import 'package:http/http.dart' as http;
-- 生成请求
为了生成 post 请求,我们需要数据库的 URL,该 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。
最终响应=等待http.get(“https://fir-flutter d60b0.firebaseio.com/userprofile.json?”);
这里我们采用了一个名为loadProfile的空列表,它是一个小部件列表,每次用户添加新配置文件时都会更新该小部件。
最终列表loadedProfile = [];
我们将从数据库中获取 JSON 数据,因此,我们需要添加decode() 语句。
注意:要使用encode()和decode()语句,我们需要导入
import 'dart:convert';
这里 extractData 是一个用于存储配置文件的变量。响应的每个元素都需要转换为一个小部件,以便为用户提供响应式 UI,因此我们使用 forEach() 和 add() 语句来识别每个新配置文件并将配置文件小部件添加到 returnedProfile 列表中
最终extractedData = json.decode(response.bo
准备用户界面
新用户小工具
在此小部件中,我们有三个 TextField() 和一个 FlatButton(),它将从用户处获取添加并在按下 FlatButton() 时生成 get 请求。
现在我们需要三个不同的控制器来处理这三个
TextField().
final firstNameController = TextEditingController();
final lastNameController = TextEditingController();
final emailController = TextEditingController();