我已经在localhost内创建了一个php脚本,我正在连接httpClient,但我遇到了一个问题。
请告诉我如何从模拟器连接到localhost的php文件?
我已经在localhost内创建了一个php脚本,我正在连接httpClient,但我遇到了一个问题。
请告诉我如何从模拟器连接到localhost的php文件?
当前回答
谢谢@ lampshade的回答。
在你的API/URL中直接使用http://10.0.2.2:[你的端口]/并在模拟器设置下添加代理地址10.0.2.2和端口号。欲了解更多,请访问:https://developer.android.com/studio/run/emulator-networking.html
其他回答
这是最后对我有用的方法。
后端在本地主机上运行:8080 获取你的IP地址(ipconfig)
配置你的Android模拟器的代理,使用你的IP地址作为主机名,你的后端运行的端口作为端口(在我的例子中:192.168.1.86:8080 让你的Android应用程序发送请求到相同的URL(192.168.1.86:8080)(发送请求到localhost, http://10.0.2.2对我来说不工作)
默认AVD使用10.0.2.2,Genymotion使用10.0.3.2
而不是localhost,而是IP。
感谢本博客的作者:https://bigdata-etl.com/solved-how-to-connect-from-android-emulator-to-application-on-localhost/
在xml中定义网络安全配置
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">10.0.2.2</domain>
</domain-config>
</network-security-config>
然后在androidmanifest。xml上设置
<application
android:networkSecurityConfig="@xml/network_security_config"
</application>
为我解决了问题!
请参考:https://developer.android.com/training/articles/security-config
谢谢@ lampshade的回答。
在你的API/URL中直接使用http://10.0.2.2:[你的端口]/并在模拟器设置下添加代理地址10.0.2.2和端口号。欲了解更多,请访问:https://developer.android.com/studio/run/emulator-networking.html