繁体   English   中英

如何使用Android模拟器在localhost上测试返回JSON的服务

[英]How to test service returning JSON on localhost with android emulator

我有一个在本地主机上运行的dropwizard服务:8080。

它在此URL上返回以下json: http://localhost:8080/users/johndoe/items

[
{
"id": 1,
"name": "Item1"
},
{
"id": 2,
"name": "Item 2"
},
{
"id": 7,
"name": "Item 3"
},
{
"id": 8,
"name": "Item4"
}
]

当我尝试从Android模拟器访问此URL时,出现此异常:

org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:8080 refused

在清单中,我已授予互联网权限

<!-- Permission - Internet Connect -->
<uses-permission android:name="android.permission.INTERNET" />

<!-- Network State Permissions -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我也尝试将localhost更改为127.0.0.1无济于事

我知道该API需要放置在可通过互联网访问的用于生产应用的服务器上,但是出于开发目的,解决该问题的方法是什么?

Localhost是指仿真器的地址。 如果要访问运行仿真器的计算机,请使用10.0.2.2 ,这是主机的默认IP地址。

如果要通过仿真器在本地主机上测试服务器,则有两个选择:

  1. 呼叫IP地址10.0.2.2而不是本地主机
  2. 呼叫计算机的路由器IP地址,以192.168.xx开头

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM