Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Impossible de résoudre une adresse

dans l'AVD

Sujet résolu
    23 juillet 2012 à 16:40:40

    Bonjour à tous.
    Ayant besoin, pour une application que je réalise avec des amis d'accéder à des informations d'internet, j'utilise une AsyncTask pour communiquer avec le site distant.
    Actuellement, le site existe et la page de teste que je sollicite renvoie simplement "hello world" (cool), mais plus tard une réponse en JSON ou en XML (on verra) sera renvoyée.
    Néanmoins il m'est actuellement impossible d'accéder à cette page. Une exception est envoyée avec le message d'erreur :
    java.net.UnknownHostException: Unable to resolve host "www.guildwars2-rage.com": No address associated with hostname

    Configuration de mon AVD


    ->dns : 8.8.8.8
    ->api level 5
    Le manifeste dit ceci :
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="android.gw2.rage"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15"/>
    
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <uses-permission android:name="android.permission.INTERNET" />    
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
            <activity
                android:name=".Gw2rageActivity"
                android:label="@string/app_name" 
                android:theme="@style/Theme.Sherlock.Light" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    


    Le code de mon AsyncTask


    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package android.gw2.rage;
    
    import android.os.AsyncTask;
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import android.widget.TextView;
    //Decoment on debug
    import android.util.Log;
    /**
     *
     * @author isen
     */
    public class GetNetworkInfo  extends AsyncTask<String, Void, String>{
        private TextView textView;
        GetNetworkInfo(TextView tv){
           this.textView = tv;
        }
        @Override
        protected void onPreExecute(){
            this.textView.setText("Recherche en cours, veuillez patienter");
        }
        @Override
        protected String doInBackground(String... urls) {
                String response = "";
                for (String url : urls) {
                        DefaultHttpClient client = new DefaultHttpClient();
                        HttpGet httpGet = new HttpGet(url);
                        try {
                                HttpResponse execute = client.execute(httpGet);
                                InputStream content = execute.getEntity().getContent();
    
                                BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
                                String s = "";
                                while ((s = buffer.readLine()) != null) {
                                        response += s;
                                }
    
                        } catch (Exception e) {
                            Log.v("Network", e.toString());
                            cancel(true);
                        }
                }
                return response;
        }
    
        @Override
        protected void onPostExecute(String result) {
            this.textView.setText(result);
                
        }
        @Override
        protected void onCancelled(){
            this.textView.setError("Impossible de se connecter");
            this.textView.setText("Impossible de se connecter");
        }
    }
    


    Voici une partie du log concernant l'exécution de l'asyncTask

    Citation

    14:17:45.035 100 system_process WARN NetworkManagementSocketTagger setKernelCountSet(10013, 0) failed with errno -2
    14:17:50.105 100 system_process WARN InputManagerService Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41476f90
    14:17:50.885 565 android.gw2.rage VERBOSE Network java.net.UnknownHostException: Unable to resolve host "www.guildwars2-rage.com": No address associated with hostname
    14:17:51.515 565 android.gw2.rage WARN AsyncTask java.lang.InterruptedException
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1280)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:219)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.FutureTask.get(FutureTask.java:82)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at android.os.AsyncTask$3.done(AsyncTask.java:272)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.FutureTask$Sync.innerCancel(FutureTask.java:293)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.FutureTask.cancel(FutureTask.java:75)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at android.os.AsyncTask.cancel(AsyncTask.java:447)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at android.gw2.rage.GetNetworkInfo.doInBackground(GetNetworkInfo.java:48)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at android.gw2.rage.GetNetworkInfo.doInBackground(GetNetworkInfo.java:21)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at android.os.AsyncTask$2.call(AsyncTask.java:264)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.FutureTask.run(FutureTask.java:137)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    14:17:51.515 565 android.gw2.rage WARN AsyncTask at java.lang.Thread.run(Thread.java:856)
    14:17:51.765 565 android.gw2.rage DEBUG dalvikvm GC_CONCURRENT freed 175K, 4% free 9301K/9607K, paused 18ms+11ms



    • Partager sur Facebook
    • Partager sur Twitter
      24 juillet 2012 à 11:12:55

      Bonjour,

      Donne lui les permissions pour internet dans ton Android Manifest :
      <uses-permission android:name="android.permission.INTERNET" />
      


      PS : J'ai rajouté le tag dans le titre de ton sujet pour être conforme aux règles du forum "Mobile". Merci de faire attention la prochaine fois.
      • Partager sur Facebook
      • Partager sur Twitter
      Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
        24 juillet 2012 à 17:41:09

        ... regarde mon manifest, la permission y est déjà.
        ensuite désolé pour le tag, ayant l'habitude d'autres forum qui n'ont pas cette règle je l'ai oublié.
        • Partager sur Facebook
        • Partager sur Twitter
          24 juillet 2012 à 23:38:02

          C'est la première fois que je les vois dans la balise application. As-tu toujours l'erreur si tu mets tes permissions au même niveau que uses-sdz ?
          • Partager sur Facebook
          • Partager sur Twitter
          Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
            25 juillet 2012 à 8:40:32

            Ah oui, effectivement. Ca marche mieux comme ça, désolé, je passe en résolu.
            • Partager sur Facebook
            • Partager sur Twitter

            [Android] Impossible de résoudre une adresse

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown