Internet sur Android, ce qui provoque exception twitter4j?
Question
J'expérimente avec twitter4j sur android (nouvelle à la fois) codé un processus simple en java juste pour le tester. Il télécharge un calendrier de l'utilisateur et imprime à l'écran.
Je modifier le code pour Android, mais je reçois un TwitterException quand je tente de télécharger le calendrier de l'utilisateur. Je vérifié le débogueur et l'exception est nulle; aucune information donnée. J'ai également ajouté l'autorisation d'Internet pour le manifeste Android sur les conseils précédents. Heres le code:
package com.test;
import java.util.List;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import android.app.Activity;
import android.os.Bundle;
public class Test2 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
List<Status> statuses = null;
Twitter api = new TwitterFactory().getInstance("USERNAME","PASSWORD");
try{
statuses = api.getUserTimeline();
}
catch(TwitterException e){
System.out.println("ERROR");
System.exit(-1);
}
for(Status s: statuses){
System.out.println(s.getText());
}
}
}
Je me rends compte que des impressions à la console, juste pour garder les choses simples.
Merci pour toute aide.
La solution
Assurez-vous que vous avez la permission de INTERNET
dans votre fichier AndroidManifest.xml
.
En outre System.out.println()
n'est pas recommandé sur Android. S'il vous plaît utiliser la classe android.util.Log
et envoyez votre sortie de débogage à LogCat (disponible via adb logcat
, DDMS, ou la perspective DDMS dans Eclipse).
Autres conseils
S'il vous plaît vérifier votre horodatage. Chaque HttpRequest contient l'horodatage en cours, si l'horodatage est faux, alors il jette une exception.