Commencé à coder une application Android simple. Une partie de l'application tire les utilisateurs 20 derniers tweets et les enregistre dans une base de données.Si je l'exécute, statuses = twitter.getUserTimeline(), lève une exception son manipulé et imprime: a échoué pour obtenir l'autorisation de timeline-refusée Quand je cours le même code non-androïde, cela fonctionne très bien Je suis un peu perplexe Est-ce que android pourrait limiter la connexion réseau Im en utilisant des classes auxiliaires de base de données, ne sont pas inclus le code parce que l'exception est levée avant que ces éléments sont même impliqués: (Heres le code:Android Twitter erreur d'exception :(
import twitter4j.Paging;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class TwitterTest extends ListActivity{
private ArrayList<String> queryString;
private DatabaseQuery query;
/* returns date in string format-without time */
String getThisYearDate(Date d){
String x = d.toString();
String y= x.substring(0, 11);
String z =x.substring(17);
String a = y.concat(z);
return a;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
query = new DatabaseQuery(this);
/*If file exists then tables in db created successfully*/
File file = new File("exists.txt");
boolean success = file.exists();
if (success==false) {
try {
ArrayList<Status> statuses = new ArrayList<Status>();
Twitter twitter = new TwitterFactory().getInstance("USERNAME", "PASSWORD");
statuses = twitter.getUserTimeline();
/* adds status data to database*/
for(Status s: statuses){
query.appendData("Text", s.getText());
query.appendData("Date", this.getThisYearDate(s.getCreatedAt()));
query.appendData("ID",String.valueOf(s.getId()));
query.addRow();
}
}
catch (TwitterException te) {
System.out.println("Failed to get timeline: " + te.getMessage());
System.exit(-1);
}
try{
boolean created = file.createNewFile();
}
catch (IOException e) {
System.out.println("error");
}
queryString = query.getData(new String[] {"Text"},this.getThisYearDate(new Date()), null, null, null, "Date", " ASC");
try {
query.destroy();
} catch (Throwable e) {
e.printStackTrace();
}
} else {
// File already exists
queryString = query.getData(new String[] {"Text"},this.getThisYearDate(new Date()), null, null, null, "Date", " ASC");
try {
query.destroy();
} catch (Throwable e) {
e.printStackTrace();
}
}
// Set the ListView
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, queryString));
getListView().setTextFilterEnabled(true);
}
}
Merci, j'ai ajouté à mon manifeste. Toujours obtenir le même problème si :( –
drunkmonkey