2012-02-19 19 views
7
tarafından giderilemedi

Android'de yeniyim, bu yüzden bu soru basit bir cevaba sahip olabilir (bir şeyleri gözden kaçırmış olabilirdim). Google'dan Resting çerçevesinin yardımıyla bir REST istemcisi yapmaya çalışıyorum (çünkü Jersey işe yaramadı).Android Ev sahibi

W/System.err(728): java.net.UnknownHostException: Unable to resolve host "my.ip:8080": No address associated with hostname

ve sonra bir kaç İstisnalar olsun, ama bu kök neden olduğunu tahmin: Ben müşteri çalıştırmayı denediğimde, bu uyarıyı olsun.

<?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> 

herhangi bir ek bilgiye ihtiyacınız varsa, lütfen bana bildirin:

Ben internet iznine sahip.

  • Uyarımda IP'mi "mi.ip" ile değiştirdim (bilerek bitti, ancak orijinalde her şey yolunda).
+1

Eğer emülatör yeniden denedim var, bu istisna var birçok kez, ancak emülatörü yeniden başlattıktan sonra, sorun çözülür. denemediyseniz deneyin –

+0

@NixitPatel Birkaç kez emülatörünü yeniden başlattım ve sonra yeniden tutulmayı yeniden başlattım, ancak bu hatayı almaya devam ediyorum. – Dragos

+0

Bir cihazda çalıştırmayı deneyin; bazen emüvatör vidalar. Emülatördeki streaming .mjpeg dosyalarıyla benzer bir sorun olduğunu biliyorum; emülatörde kilitleniyor ancak cihazımda mükemmel çalışıyor. –

cevap

1

Sunucuya bağlantı yaptığınız yerde kod parçasını yüklerseniz, size yardımcı olmak daha kolay olacaktır. Ancak, muhtemelen sorununuz, çağrılacak URI'yi oluşturmaktır. Örnek: geçersiz veya yanlış URI ile çalıştırma yöntemi çağırırsanız

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); 

Yani, bir sorun olabilir. Örneğin, bazen AVD'nizi açık tuttuğunuzda ve kullandığınız ağı değiştirdiğinizde, örneğin, ofisten çıkın ve ev wifi kullanmaya başladığınızda, yaşadığınız bu gibi bir sorunla karşı karşıya olmalısınız.

1

OP ile aynı sorunu yaşadığımı düşünüyorum, bunun eski bir soru olduğunu biliyorum, ancak yine de bulgularımı yayınlayacağım.

Sorun şu ki, get() gibi Dinleme çerçevesi yöntemleri, URL'leri bağlantı yardımcılarıyla geçirir ve bağlantı noktasını ikinci parametre olarak sağlamanızı bekler.

Yani yerine, OP'ın örnek alarak:

Resting.get('my.ip:8080'); 

çağrı olmalıdır: yardımcı

Resting.get('my.ip', 8080) 

Umut birisi :)

İlgili konular