Flutter 连接到服务器中的数据库

Kes*_*R.P 2 mysql flutter

我是flutter的新手,我真的很想知道,有没有办法在flutter中而不是使用firebase连接到数据库服务器(例如mysql)。我正在开发一个智能停车系统项目,我需要将停车区的经纬度插入到服务器中创建的数据库中,并在用户请求时检索它。如果有人为上述问题提供解决方案(Flutter with database),那就太好了。

Ash*_*mas 6

由于 Flutter 只是一个 UI 框架,因此持久性和数据库等主题可能超出范围或可能取决于用例。

Flutter UI 可以在短时间内以某种方式保留数据(应用程序状态),这种方式实际上仅用于创建良好的用户体验(此按钮是否单击?是否为绿色?等)

为了在应用程序之外和实际设备上保留更多有用的数据,您可能需要考虑FlutterShared Preferences Plugin

包装 NSUserDefaults(在 iOS 上)和 SharedPreferences(在 Android 上),为简单数据提供持久存储。数据自动和异步地持久化到磁盘。

现在,如果您需要以任何集中方式(例如 RDMS、Firebase 或任何数据持久性服务)持久化数据,您的选择是:

  • 具有 Flutter 插件的持久性选项(例如 Firestore、Firebase)
  • 使用HTTP构建您自己的服务层,gRPC与一些提供对数据存储的访问的后端服务进行通信。您可以使用 Express、Rails、CloudFunctions 等来做到这一点。
  • 至于直接连接到 MySQL 等数据库,我不明白为什么你不能这样做(也许有一些技术限制),但这在任何实际情况下都是一个非常糟糕的主意(不像 Firebase/Firestore ) 一旦任何客户端应用程序具有写访问权限,您将无法保护您的数据存储。

听起来您需要一个中央读/写数据存储,所以最好的办法可能是托管一个服务器,该服务器提供对数据库的访问,同时向 Flutter 公开一个 API,您可以使用它dart:io来发出请求。