2015-09-01 2 views
1

[EDIT] Я пытаюсь найти некоторые твиты из twitter с помощью twitter4j версии 4.0.4 в качестве библиотеки. Это мой методОшибка twitter4j при поиске twitter

public void processAll(View view){ 
    Log.d("click","OKE"); 
    ConfigurationBuilder cb = new ConfigurationBuilder(); 
    cb.setDebugEnabled(true) 
      .setOAuthConsumerKey("xxxxx") 
      .setOAuthConsumerSecret("xxxx") 
      .setOAuthAccessToken("7xxxxL") 
      .setOAuthAccessTokenSecret("xxxxx"); 
    TwitterFactory tf = new TwitterFactory(cb.build()); 
    Twitter twitter = tf.getInstance(); 
    Log.d("connected","OKE"); 

    try { 
     Query query = new Query("handsome"); 
     Log.d("TEST","OKE"); 
     QueryResult result = twitter.search(query); 
     List<Status> tweets = result.getTweets(); 
     for (Status tweet : tweets) { 
      Log.d("RESULT","@" + tweet.getUser().getScreenName() + " - " + tweet.getText()); 
     } 
    } 
    catch (TwitterException te) { 
     te.printStackTrace(); 
     Log.d("RESULT","Failed to search tweets: " + te.getMessage()); 
     return; 
    } 

} 

Но мое приложение остановилось при вызове этого метода.

at com.fajarainul.coconut_dev.titikota.SetTimeActivity.processAll(SetTimeActivity.java:68) 

ссылки на

QueryResult result = twitter.search(query); 

здесь мой полный LogCat

09-01 21:17:52.862 12562-12562/com.fajarainul.coconut_dev.titikota E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring... 
09-01 21:17:53.947 12562-12562/com.fajarainul.coconut_dev.titikota E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.fajarainul.coconut_dev.titikota, PID: 12562 
    java.lang.IllegalStateException: Could not execute method of the activity 
      at android.view.View$1.onClick(View.java:3834) 
      at android.view.View.performClick(View.java:4461) 
      at android.view.View$PerformClick.run(View.java:18523) 
      at android.os.Handler.handleCallback(Handler.java:733) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:136) 
      at android.app.ActivityThread.main(ActivityThread.java:5118) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.reflect.InvocationTargetException 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at android.view.View$1.onClick(View.java:3829) 
      at android.view.View.performClick(View.java:4461) 
      at android.view.View$PerformClick.run(View.java:18523) 
      at android.os.Handler.handleCallback(Handler.java:733) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:136) 
      at android.app.ActivityThread.main(ActivityThread.java:5118) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: android.os.NetworkOnMainThreadException 
      at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1148) 
      at java.net.InetAddress.lookupHostByName(InetAddress.java:405) 
      at java.net.InetAddress.getAllByNameImpl(InetAddress.java:251) 
      at java.net.InetAddress.getAllByName(InetAddress.java:229) 
      at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28) 
      at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216) 
      at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122) 
      at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292) 
      at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255) 
      at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206) 
      at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345) 
      at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296) 
      at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503) 
      at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:136) 
      at twitter4j.HttpResponseImpl.<init>(HttpResponseImpl.java:35) 
      at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:142) 
      at twitter4j.HttpClientBase.request(HttpClientBase.java:53) 
      at twitter4j.HttpClientBase.get(HttpClientBase.java:71) 
      at twitter4j.TwitterImpl.get(TwitterImpl.java:1556) 
      at twitter4j.TwitterImpl.search(TwitterImpl.java:247) 
      at com.fajarainul.coconut_dev.titikota.SetTimeActivity.processAll(SetTimeActivity.java:70) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at android.view.View$1.onClick(View.java:3829) 
      at android.view.View.performClick(View.java:4461) 
      at android.view.View$PerformClick.run(View.java:18523) 
      at android.os.Handler.handleCallback(Handler.java:733) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:136) 
      at android.app.ActivityThread.main(ActivityThread.java:5118) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
      at dalvik.system.NativeStart.main(Native Method) 

Спасибо заранее!

+0

вы получили разрешение интернет в манифесте? –

+0

Да, у меня есть .. но все равно не работает ... –

+0

Можете ли вы скопировать полный стек stacktrace в свой вопрос вместо предоставления изображений –

ответ

1

Вы бросаете NetworkOnMainThreadException, что означает, что вы пытаетесь запустить сетевой код (т. Е. Запускать поиск через API twitter) в основной теме приложения.

Вам нужно будет переместить этот код в фоновый поток, используя что-то вроде AsyncTask (см. docs), чтобы он работал.

Я хотел бы предложить чтение документации, а также ответы на предыдущий вопрос на SO: How to fix android.os.NetworkOnMainThreadException?

+0

спасибо, я попробую ваше предложение и дам вам знать .. –

Смежные вопросы