mysql - flutter 连接到服务器中的数据库

标签 mysql flutter

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

最佳答案

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

Flutter UI 可以在短时间内持久保存数据(应用程序状态),这种方式实际上只对创造良好的用户体验有用(这个按钮是否点击?它是绿色的吗?等)

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

Wraps NSUserDefaults (on iOS) and SharedPreferences (on Android), providing a persistent store for simple data. Data is persisted to disk automatically and asynchronously.

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

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

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

关于mysql - flutter 连接到服务器中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49415178/

相关文章:

firebase - 目标 URI 不存在 :'package:firebase_database/firebase_database.dart' ;

flutter - 在 Flutter 中显示多个视频

mysql - 在将 CSV 文件内容插入数据库之前检查正确的数据类型

mysql - 带有子查询的查询运行缓慢

php - 数组到复选框,根据 MtM 选中一些

flutter - 我想在 Flutter 应用程序启动时执行一个函数

mysql - 为什么MySQL2执行命令在Nodejs中返回一个缓冲区

c# - 如何在 Visual Studio C# 命令 MySqlConnection() 上执行“"SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO”;

dart - Flutter - 列出图 block 或卡片分隔符

flutter - Dart :为什么本地函数不能互相调用?