![](/img/trans.png)
[英]Can I use firebase as a backend for flutter desktop app? If so how?
[英]Flutter:How can we use Firebase database with desktop application
我正在考慮使用 dart 和 flutter 開發桌面應用程序,但我不知道如何將 Firebase 數據庫與其集成。 任何建議將不勝感激。 提前致謝
使用Firedart package 將 FIrebase 集成到基於桌面的 Flutter 應用程序。
https://pub.dev/packages/firedart
文檔說
該庫試圖最小化依賴關系,以使其能夠在任何能夠執行 dart 代碼的環境中運行。 Currently it has been successfully tested using the dart runtime (x86-64 and arm32) as well as on Flutter Android, iOS and Desktop.
FlutterFire 主頁面有一個表格,顯示了 Firebase 產品在哪個環境中工作。
現在這表明 macOS 桌面應用程序支持這些產品:
如果您在其中一項工作時遇到問題,請編輯您的問題以包含我們可以重現您遇到的問題的最少信息以及您收到的任何錯誤消息。
上下文:截至 2021 年 2 月 24 日,在 Flutter 中支持 firebase 服務的主要項目可以在這里找到。 如果您查看在 GitHub 上提出的這個問題,它為正在研究支持桌面的“可能性”的項目提供了一個粗略的路線圖。
已打開一個問題以提供對 Windows 和 Linux 的支持。
答:現在,將 Firebase 與您的桌面應用程序一起使用的最佳選擇是 -
您可以使用 Firebase C++ SDK:
我使用 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 快照在此處輸入圖像描述
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.