【问题标题】:How can I send data SQLite (offline) to server MySQL using Flutter?如何使用 Flutter 将数据 SQLite(离线)发送到服务器 MySQL?
【发布时间】:2019-01-22 22:11:05
【问题描述】:

当没有信号时,我通过将数据存储到设备 (SQLite) 来使用离线模式。有信号后,我尝试将数据发送到 Mysql 服务器。

如何将数据从 SQLite(离线模式)发送到 MySQL 服务器?

【问题讨论】:

  • 您是否在应用程序和数据库中间使用任何网络服务器?通常它是这样完成的,你的应用程序从服务器发送/获取请求,所以离线只需将其缓存到 sqllite 在线后只需将其全部发送到将持久保存到 mysql 数据库的服务器。
  • 好的,我试试.. 非常感谢

标签: flutter sqflite


【解决方案1】:

在远程服务器中创建一个类似于您的 sqflite db 表的数据库。然后,使用您想要的语言创建一个 rest api(php 很容易上手)。然后,当应用程序连接到互联网时,使用 HTTP 客户端将数据发送到远程服务器。

您可以使用如下代码进行发布数据调用:

Future<dynamic> post(String url, {Map headers, body, encoding}) {
print(url);
print(body);
return http
    .post(BASE_URL+url, body: body, headers: headers, encoding: encoding)
    .then((http.Response response) {
  final String res = response.body;
  final int statusCode = response.statusCode;

  print(res);

  if (statusCode < 200 || statusCode > 400 || json == null) {
    throw new Exception("Error while fetching data");
  }
  return _decoder.convert(res);
});
}

【讨论】:

  • 我们往mysql服务器插入数据时,rest api是不是一样的?
  • 不,rest api 只是一个 url 链接完成其规范的格式,它将发布请求映射到在服务器上运行的应用程序中的方法,该方法会将您发布的数据插入到 mysql 服务器。
  • 基本上和我在之前的评论中告诉过你的一样:)
  • @DwiNurRohman,正如 Diago Garcia 解释的那样,rest api 是一种媒介,您可以通过它将数据发送到服务器,然后将数据插入 mysql。您实际上不能从 android 插入数据任何 mysql 数据库。你需要一个媒介。互联网上有很多例子。请检查。这是一个 [链接[(codeofaninja.com/2017/02/create-simple-rest-api-in-php.html)
  • @diegogarcia 和 Starlut
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
  • 2017-07-12
  • 1970-01-01
  • 2018-05-06
  • 2011-10-24
  • 2021-03-20
相关资源
最近更新 更多