2013-11-22 21 views
-1

我有一個在localhost:8080上運行的dropwizard服務。如何使用android模擬器測試在本地主機上返回JSON的服務

它返回這個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模擬器訪問此網址我得到這個異常:

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" /> 

我也試圖改變localhost127.0.0.1無濟於事

問題

據我所知,API將需要通過互聯網進行生產應用程序,但發展的目的是什麼來解決這個問題的方法訪問的服務器上放?

+0

[如何從Eclipse的Android模擬器連接到我的http:// localhost web服務器](http://stackoverflow.com/questions/5806220/how-to-connect-to-my-http-本地主機的Web服務器從 - Android的模擬器功能於文摘) – Selvin

回答

5

Localhost指的是模擬器的地址。如果要訪問運行仿真器的計算機,請使用10.0.2.2,這是主機的默認IP地址。

1

如果你想從一個模擬器測試本地主機上的服務器,你有兩個選擇:

  1. 呼叫的IP地址10.0.2.2,而不是本地主機
  2. 呼叫您的計算機的路由器的IP地址,從192.168.xx開始

希望它有幫助。

相關問題