【问题标题】:10.0.2.2 is working in my Android emulator but not in my physical device in Flutter10.0.2.2 在我的 Android 模拟器中运行,但在我的 Flutter 物理设备中运行
【发布时间】:2021-01-29 23:36:28
【问题描述】:
Future getSearchData() async {
    var srch = {'Search': query};
    var data =
        await http.post("http://10.0.2.2/DBCON/searchspec.php", body: srch);
    var databody = jsonDecode(data.body);
    return databody;
  }

我正在尝试从本地主机获取数据并将其打印到我的颤振应用程序中,问题是它在 Android 模拟器中运行良好,但在我的物理设备中无法运行,你能告诉我该怎么做吗为了让它在我的物理设备上工作?

【问题讨论】:

    标签: json flutter localhost flutter-layout flutter-test


    【解决方案1】:

    10.0.2.2 是您 PC 中 localhost 的特殊别名,这意味着您的模拟器可以通过此特殊地址访问系统的本地托管 API。模拟器本身不具备网络功能,这就是制定此规定的原因。

    但是,您的物理设备没有任何此类功能。

    您需要通过网络网关(通常是无线路由器)提供的内部 IPv4 地址连接到您的系统。使用ipconfig/ifconfig/ip addr获取。

    这要求两台设备都在同一个网络中。获得后,使用该地址而不是 10.0.2.2

    Here's one answer 采用了这个解决方案(虽然没有推理)

    【讨论】:

      猜你喜欢
      • 2020-10-01
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 2020-07-15
      • 2017-07-03
      • 2023-03-21
      相关资源
      最近更新 更多