2011-01-29 4 views
4

Vous avez essayé la bibliothèque KSOAP2 à partir d'une application de console à l'aide de l'IDE Eclipse en parlant à un service Web .NET situé au http://www.w3schools.com/webservices/tempconvert.asmx. Pas de problème, facile et direct. Embedded le code dans une méthode simple, test().Impossible de trouver la classe SoapObject

Le problème a commencé lorsque je voulais que tout fonctionne à partir d'une application Android.

Voici un résumé de ce que je l'ai fait (et le problème):

1. I a généré un nouveau projet Android dans Eclipse IDE en utilisant le SDK Android 2.3.1 et je crée aussi un androïde virtuel Dispositif basé sur le même SDK. Aucun problème lors du démarrage du périphérique virtuel. Travaillé très bien.

2. Ensuite, j'ai ajouté la balise uses-permission avec android: name = "android.permission.INTERNET" dans le fichier AndroidManifest.xml. Puis j'ai ajouté la bibliothèque KSOAP2 exactement comme je l'ai fait lors de la création de l'application console.

4. Maintenant, j'ai ajouté la méthode test(), précédemment testée et validée, y compris les instructions d'importation correctes. Tout semblait bien. Pas d'avertissement.

5. Compilé et a commencé le projet et sur la première ligne de code j'ai eu une défaillance du chargeur de classe de SoapObject, à savoir « ne pouvait pas trouvé » org.ksoap2.serialization.SoapObject. La ligne de code ressemblait à ceci: SoapObject objSoapTest = new SoapObject ("http://tempuri.org/", "FahrenheitToCelsius");

Essayé de voir s'il pouvait détecter une autre classe dans le même paquetage donc j'ai ajouté cette ligne de code avant le code mentionné ci-dessus: PropertyInfo objPropertyInfo = new PropertyInfo();

Vous avez le même problème ... "Impossible de trouver" org.ksoap2.serialization.PropertyInfo.

Quel peut être le problème ici? J'ai essayé de changer le "Order and Export" dans Java Build Path mais sans résultat. Ai-je besoin de mettre cette bibliothèque KSOAP2 où se trouvent les fichiers SDK Android? Je suis un programmeur C++ hardcore, donc je n'ai pas tellement d'expérience avec Eclipse IDE etc, donc j'ai vraiment besoin de conseils sur celui-ci.

En plus de ce qui précède, j'ai également créé une application Java Swing, sans aucun problème pour se connecter au service web .net. Est-ce que AVD a des restrictions concernant l'accès à certaines bibliothèques? Ai-je besoin d'ajouter d'autres autorisations?

Btw 1. J'ai testé d'autres applications Android, se connectant à Internet, diffusant des images en continu dans un ListView et cela a très bien fonctionné.

BTW 2. J'utilise Windows 7.

Tout mon mieux!

+0

est l'étape ** 3 ** quelque chose comme: clic droit sur le dossier du projet -> construire le chemin -> ajouter un pot externe? c'est comme ça que je l'ai fait. – bigstones

+0

Oui c'est exactement ce que j'ai fait ... – Stefan

+0

Stefan, Avez-vous trouvé cela résolu? J'ai le même problème. L'application se bloque lors du premier appel à kSOAP avec ... SoapObject request = new SoapObject (NAMESPACE, METHOD_NAME); Merci –

Répondre

0
+0

Merci pour votre réponse rapide! Oui, j'ai ajouté une nouvelle variable KSOAP2 et ajouté le chemin à la variable. Ont également ajouté la bibliothèque directe sans aucun nom, pas de changement. Le même résultat Travaillé parfait avec l'application Console. J'ai reçu une exception, InvocationTargetException. En mode débogage, j'ai également obtenu des informations me disant que android.jar n'a pas de pièce jointe source. Étrange, n'a pas changé l'emplacement du fichier ou de la structure du dossier de quelque façon que ce soit. – Stefan

0

Je résolu ce problème en ajoutant .jar KSOAP2 comme externe et en veillant à la .JAR a été vérifié dans l'onglet Ordre et Export

1

essayer cette façon .. .

1. Right click on your project and go to Properties. 
2. go to java build path..//which is on the 5th position on left side 
3. go to Order and Export tab. 
4. check(Tick Mark) on your selected jar file. and click ok. 
5. Now, clean your project and Run. 
Questions connexes