我是Android新手,所以这个问题可能有一个简单的答案(我可能错过了一些东西)。我试图在Google的Resting框架的帮助下创建一个REST客户端(因为Jersey似乎不起作用)。当我尝试运行客户端时,我收到此警告:
W/System.err(728): java.net.UnknownHostException: Unable to resolve host "my.ip:8080": No address associated with hostname
然后我得到一些例外,但我想这是根本原因。
我有互联网许可:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.maze.client"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".RestingClientActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
如果您需要任何其他信息,请告诉我们。
答案 0 :(得分:1)
如果您发布与服务器连接的代码段,则可以更轻松地为您提供帮助。 但是,您的问题可能是创建要调用的URI。例如:
URI uri = URIUtils.createURI("http", "your-ip", 8080, "/path/to/webservice",
URLEncodedUtils.format(params, "UTF-8"), null);
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(uri);
response = client.execute(get);
因此,如果使用无效或错误的URI调用execute方法,则可能会出现问题。
或者,有时,当您打开AVD并更改正在使用的网络时,例如,走出办公室并开始使用家庭wifi,你应该遇到这样的问题。
答案 1 :(得分:0)
我相信我和OP有同样的问题,我知道这是一个老问题,但无论如何都会发表我的发现。
问题是像get()这样的Resting框架方法通过其连接助手传递url,并希望你提供端口作为第二个参数。
所以以OP为例,而不是:
Resting.get('my.ip:8080');
你的电话应该是:
Resting.get('my.ip', 8080)
希望能帮助某人:)