0

localhost:8080 で dropwizard サービスを実行しています。

この 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 を配置する必要があることは理解していますが、開発目的でこれを解決する方法は何ですか?

4

2 に答える 2

6

localhost は、エミュレーターのアドレスを指します。エミュレータを実行するコンピュータにアクセスする場合10.0.2.2は、ホスト マシンのデフォルトの IP アドレスである を使用します。

于 2013-11-22T15:35:08.283 に答える