当前位置: 首页 > 知识库问答 >
问题:

10.0.2.2在我的Android仿真器中工作,但在我的物理设备中不工作

陈兴朝
2023-03-14
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;
  }

我试图从我的localhost获取数据并将其打印在我的flutter应用程序中,问题是它在Android模拟器中完美工作,但它在我的物理设备中不工作,你能告诉我该怎么做才能使它在我的物理设备中工作?

共有1个答案

刘向阳
2023-03-14

10.0.2.2是电脑中localhost的特殊别名,这意味着您的仿真器可以通过此特殊地址访问系统的本地托管API。模拟器本身不具备网络功能,这就是为什么要有这项规定的原因。

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

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

这要求两个设备位于同一网络中。一旦获得,请使用该地址,而不是10.0.2.2

以下是采用此解决方案的一个答案(尽管没有推理)

 类似资料:
  • 这个小部件在模拟器4.1.2上工作得很好,当安装在真正的设备上时,它甚至不会显示在小部件列表上,就像安装了一样,但我不能让它正常工作。 下面是manifest.xml 和小部件提供程序

  • 我正在尝试使用< code>Xamarin。AccountStore来保留用户的登录凭据,这样他们就不必在每次使用应用程序时都键入凭据。 保存凭据看起来像这样: 在模拟VS中的应用程序时,这与我的预期完全一样。当通过Xamarin Live在实际手机上运行时,方法会为Android库中看起来缺少的方法抛出异常。 异常消息: 类型“Java”上的构造函数。找不到security . KeyStore

  • Laravel auth中间件给我带来了两天的麻烦。 我已经了解了身份验证系统如何使用JWTtoken。在我的控制器中,一切正常,我获得了用户登录,可以使用Auth::guard进行访问- 但我有一个问题在我的中间件Authenticate.php: 我尝试了我在多个帖子或教程中找到的所有内容,但结果是相同的(在控制器中同时所有工作用户都登录): 授权控制器。php Kernel.php 我尝试在

  • 我是android新手,我能够在kotlin中为我的应用程序设置firebase。如果我在Nexus 5X API 27 emulator中运行该应用程序,我就能够获取数据库,但当我在实际设备三星S5(Google play Services V 12.5.29,android V 5.0)中运行该应用程序时,我无法获得addValueEventListener回调。 Gradle文件: 我知道这

  • 我使用一个包在Flutter中,它可以在Android上正常工作,但是当在ios模拟器上运行我的项目时,我在控制台中收到错误。 当我运行时,我得到以下错误,由于内容长度,我删除了错误的一些重复部分。 我在上面的错误中找不到任何相关消息这是 这就是我与pusher的连接方式 但在我注释掉上述文件和<code>pusher_client:^2.0.0<code>中的<code>时。yaml然后运行<c

  • 我在Unity中制作了一个2d游戏,我正在使用此代码实例化敌人 在这段代码中,IENumator方法正在执行它们的工作,但没有产生返回新的WaitFor秒。意味着如果我在Unity中运行它,敌人会在每一帧中实例化。我该怎么解决呢?