我在localhost上运行了一个dropwizard服务:8080。
它会在此网址上返回以下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需要放在互联网可访问的服务器上,用于生产应用程序,但出于开发目的,解决此问题的方法是什么?
答案 0 :(得分:5)
Localhost是指模拟器的地址。如果要访问运行模拟器的计算机,请使用10.0.2.2
,这是主机的默认IP地址。
答案 1 :(得分:1)
如果要从仿真器在localhost上测试服务器,则有两个选项:
希望它有所帮助。