簡體   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