我当时正在考虑开发带有dart和flutter的桌面应用程序,但是我不知道如何将Firebase数据库与其集成在一起。 任何建议将不胜感激。 预先感谢
答案 0 :(得分:6)
使用 Firedart 包将 FIrebase 集成到基于桌面的 Flutter 应用程序。
https://pub.dev/packages/firedart
文档说明
<块引用>这个库试图最小化依赖,目的是 使其能够在任何能够执行 dart 的环境中运行 代码。目前已经使用dart运行时测试成功 (x86-64 和 arm32)以及 Flutter Android、iOS 和桌面。
答案 1 :(得分:3)
main FlutterFire page的表显示了哪些Firebase产品在哪种环境下工作。
现在显示macOS桌面应用程序支持这些产品:
如果您在执行上述一项操作时遇到问题,请编辑问题以包括minimal information with which we can reproduce where you got stuck和收到的任何错误消息。
答案 2 :(得分:3)
上下文: 截至 2021 年 2 月 24 日,可以在 here 中找到在 Flutter 中支持 Firebase 服务的主要项目。如果您查看在 GitHub 上提出的这个问题,它为该项目提供了一个粗略的路线图,该项目着眼于支持桌面的“possibility”。
已开放 issue 以提供对 Windows 和 Linux 的支持。
答案: 目前,将 Firebase 与您的桌面应用程序结合使用的最佳选择是 -
答案 3 :(得分:0)
您可以使用 Firebase C++ SDK :
答案 4 :(得分:0)
我使用 http 方法将 Firebase 与我的 windows flutter 应用程序连接起来; 代码和快照如下。 Firebase 实时数据库工作完美。 我按照这个教程 https://medium.com/flutterdevs/http-request-dcc13e885985
我的代码是:
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
sendData();
}
sendData() {
http.post(
Uri.parse(
"https://rest-12bb2-default-rtdb.firebaseio.com/userprofile.json"),
body: json.encode({
'firstName': "b",
'lastName': "c",
'email': "f",
}));
// setState(() {
// userProfile.add(Profile(
// firstName: firstname;
// lastName: lastname;
// email: email;
// ));
// });
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("app"),
),
body: new Center(
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text(
'You have pushed the button this many times:',
),
new Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
],
),
),
floatingActionButton: new FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: new Icon(Icons.add),
),
);
}
}
///////////// firebase 快照enter image description here