Internet su Android, eccezione twitter4j causando?
Domanda
sto sperimentando twitter4j su Android (una novità per entrambi) codificato un processo semplice in Java solo per provarlo. Si scarica una timeline degli utenti e stampe a schermo.
I modificare il codice per Android, ma ho un TwitterException quando provo a scaricare la timeline dell'utente. Ho controllato il debugger e l'eccezione è nullo; Nessuna informazione contenuta. Ho anche aggiunto il permesso Internet per il manifesto di Android su consiglio precedente. Heres il codice:
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());
}
}
}
Mi rendo conto che solo stampe alla console, solo per mantenere le cose semplici.
Grazie per qualsiasi aiuto.
Soluzione
Assicurati di avere il permesso INTERNET
nel file AndroidManifest.xml
.
Anche System.out.println()
non è raccomandato su Android. Si prega di utilizzare la classe android.util.Log
e inviare l'output di debug per LogCat (disponibile tramite adb logcat
, DDMS, o la prospettiva DDMS in Eclipse).
Altri suggerimenti
Si prega di controllare il timestamp. Ogni HttpRequest contengono timestamp corrente, se il timestamp è sbagliato allora gettare eccezione.