Internet en android, haciendo excepción Twitter4J?
Pregunta
estoy experimentando con Twitter4J en android (nuevo a ambos) codificado por un proceso simple en Java sólo para probarlo. Es capaz de descargar una línea de tiempo a los usuarios y las impresiones de pantalla.
Me modificar el código para android, pero me da un TwitterException cuando intento descargar la línea de tiempo del usuario. Fui a ver el depurador y la excepción es nulo; Ninguna información. También he añadido el permiso de Internet al manifiesto de Android en el consejo anterior. Aquí está el código:
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());
}
}
}
Me di cuenta que sólo se imprime en la consola, sólo para que sea sencillo.
Gracias por cualquier y toda la ayuda.
Solución
Asegúrate de que tienes el permiso INTERNET
en su archivo AndroidManifest.xml
.
También System.out.println()
no se recomienda en Android. Por favor, utilice la clase android.util.Log
y envía su salida de depuración a LogCat (disponible a través de adb logcat
, DDMS, o la perspectiva DDMS en Eclipse).
Otros consejos
Gracias por confirmar su marca de tiempo. Cada HttpRequest contienen fecha y hora actual, si la marca de tiempo es malo, entonces lanzar una excepción.