HonyComb et DefaultHttpClient
Dans mon code j'ai cette
Log.d("WFlog (executeRequest)", request.toString()) ;
httpResponse = client.execute(request);
Log.d("WFlog (execute)", request.toString()) ;
l'exécution de l'application à l'aide de l'Androïde 2,2 se passe bien et dans le logcat je vois deux lignes de log.
Maintenant en cours d'exécution de l'application à l'aide de HonyComb pour le même morceau de code, il semble que je n'ai jamais passé le client.exécuter correctement. La dernière ligne de journal que j'obtiens est le seul à avoir "WFlog (executeRequest)".
Après ce que je vois le suivant:
01-27 21:54:45.169: WARN/System.err(390): android.os.NetworkOnMainThreadException
01-27 21:54:45.196: WARN/System.err(390): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1069)
01-27 21:54:45.196: WARN/System.err(390): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
01-27 21:54:45.205: WARN/System.err(390): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
01-27 21:54:45.215: WARN/System.err(390): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431)
01-27 21:54:45.237: WARN/System.err(390): at java.net.Socket.connect(Socket.java:901)
Une idée de ce que je devrais regarder pour?
OriginalL'auteur RvE | 2011-01-27
Vous devez vous connecter pour publier un commentaire.
Il y a de nouvelles politiques qui permettront d'application et les développeurs de systèmes d'exploitation pour définir les attentes en matière de rendement pour une exécution de code sur certains threads. Vous avez tenté d'invoquer le blocage du réseau de l'api sur le thread de l'interface utilisateur de votre application. Google a mis en place un système qui vous permet de vous savez que c'est une mauvaise idée et que vous pouvez résoudre ce problème par l'exécution de votre demande dans un thread séparé ou une asyncTask.
Veuillez lire cette blog. Vous pouvez trouver de l'information sur les async /multi-thread applications de toute SORTE et de Google.
OriginalL'auteur Nick Campion
Merci Nick. Il a travaillé pour moi. Pour dev effet je viens de mettre le Fil de la Politique par défaut en faisant cela,
Cela doit être retiré de la version finale.
OriginalL'auteur Abhinaw Sharma
abhinaw suggestion de l'écrit que la réflexion, donc le code fonctionne aussi sur les anciennes versions de l'API:
Oui, ce devrait être retiré de la version finale.
OriginalL'auteur miha
J'ai utilisé un asynctask, vu dans d'autres threads, et il a bien fonctionné....j'ai créer une sous-classe où je voulais appeler la connexion réseau. je ne sais pas si c'est la meilleure façon, mais ce code a fonctionné pour moi....
OriginalL'auteur Rako