Comment utiliser l'API d'Android?
Je suis en train d'utiliser cette API dans mon application Android. C'est très simple, vous lui donnez un tiny URL et elle renvoie l'original.
C'est ma première fois à l'aide de l'API. Donc, C'est comment je l'ai fait:
try {
HttpClient client = new DefaultHttpClient();
String url = "http://tiny.pl/htk" //The tiny URL
String getURL = "http://untiny.me/api/1.0/extract?url="+url+"&format=text"; //The API service URL
HttpGet get = new HttpGet(getURL);
HttpResponse responseGet = client.execute(get);
HttpEntity resEntityGet = responseGet.getEntity();
if (resEntityGet != null) {
//do something with the response
Log.i("GET RESPONSE",EntityUtils.toString(resEntityGet));
output.setText(EntityUtils.toString(resEntityGet)); //This is a TextView
}
else {
output.setText("null reponse");
}
} catch(Exception e) {
output.setText("exception");
}
Mes questions sont:
- Est à l'aide de
HttpGet
la bonne façon de traiter avec les Api? - Si oui, alors Quelles sont les erreurs que j'ai faite là-haut? Je reçois toujours "exception" dans mon TextView.
ajouter de l'e.printStackTrace(); à votre bloc catch. Puis regardez dans votre journal de sortie pour voir ce que l'exception est levée.
Rien ne s'affiche. Mon LogCat ne pas montrer quoi que ce soit!! Tu dis que ma façon de traiter avec des Api est-elle correcte?
Non, si votre TextView montre "exception", alors quelque chose ne va pas. Vous devez ajouter l'adresse.printStackTrace(); appel à votre bloc catch, de sorte que vous pouvez voir ce que l'exception est levée. Rien ne va apparaître dans votre journal de chat jusqu'à ce que vous le faites.
Nous n'avons pas le contexte de votre code, vous montrez. Est-ce sur un thread séparé? Si donc vous ne pouvez pas toucher les éléments d'INTERFACE utilisateur (votre textview) à partir d'un non-thread d'INTERFACE utilisateur. Si vous obtenez des erreurs, vous devez afficher le message d'erreur que vous obtenez si nous pouvons aider à déterminer le problème
Je l'ai ajouté déjà. Rien ne s'affiche.
Rien ne s'affiche. Mon LogCat ne pas montrer quoi que ce soit!! Tu dis que ma façon de traiter avec des Api est-elle correcte?
Non, si votre TextView montre "exception", alors quelque chose ne va pas. Vous devez ajouter l'adresse.printStackTrace(); appel à votre bloc catch, de sorte que vous pouvez voir ce que l'exception est levée. Rien ne va apparaître dans votre journal de chat jusqu'à ce que vous le faites.
Nous n'avons pas le contexte de votre code, vous montrez. Est-ce sur un thread séparé? Si donc vous ne pouvez pas toucher les éléments d'INTERFACE utilisateur (votre textview) à partir d'un non-thread d'INTERFACE utilisateur. Si vous obtenez des erreurs, vous devez afficher le message d'erreur que vous obtenez si nous pouvons aider à déterminer le problème
Je l'ai ajouté déjà. Rien ne s'affiche.
OriginalL'auteur iTurki | 2012-03-12
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que vous affectez "resEntityget" pour une chaîne lorsque vous convertissez et la réutilisation de la chaîne plutôt que d'essayer de le convertir à nouveau. Cela risquerait de provoquer des erreurs.
Essayez ceci:
Alors je ne suis pas sûr. - Je avoir votre code fonctionne très bien sans aucune modification.
Logcat montre REÇOIS la RÉPONSE que google, quand je lance l'application
Quelle est votre cible API lorsque vous l'avez testé?
Aussi, assurez-vous d'attribuer resEntityget à une chaîne lorsque vous convertissez et la réutilisation de la chaîne plutôt que d'essayer de le convertir à nouveau. cela risquerait de provoquer des erreurs. Ce faire: String réponse = EntityUtils.toString(resEntityGet); et ensuite utiliser la variable de réponse dans votre journal / réglage de votre affichage de texte
OriginalL'auteur dymmeh
De ce que j'ai vérifié, il y a une UnknownHostException levée lors de l'exécution.
Bizarre. Ce n'est pas figurant pour moi. Pouvez-vous suggérer comment je résoudre ce problème?
qu'entendez-vous par
URL encoding
? remplacement de la chaîne de HttpGet avec l'URI?OriginalL'auteur Olek
Est à l'aide de HttpGet la bonne façon de traiter avec les Api?
OUI
Si oui, Quelles sont les erreurs que j'ai faite là-haut? Je reçois toujours "exception" dans mon TextView.:
parce que vous êtes de passage à tort url dans
HttpGet
Droit Chemin:
Poing Ajouter l'url de paramètres dans l'url:
VOTRE LOOK COMME :
UTILISER TinyURL “API”:
Maintenant utiliser cette url moyens tinyUrl:
OU SI VOUS SOUHAITEZ UTILISER des URL STATIQUES PUIS l'ENCODER l'URL à l'AIDE de tinyurl avec params puis la passer dans
HttpGet()
FAIT!
Oui iturki, parce que votre url complète n'est pas codé avec les paramètres. si vous souhaitez utiliser des url statiques puis l'encoder l'url avec des paramètres à l'aide de TinyURL API.
je pense, vous l'avez?
Votre tinyURL code ne compile pas. il a quelques erreurs. par exemple,
HttpMethod
cannt être résolu à un type.ok,voir mon edit maintenant, il est de travail
OriginalL'auteur ρяσѕρєя K