簡體   English   中英

如何在Android上調試此功能? 下面的Logcat的堆棧跟蹤

[英]How do I Debug this on Android?. Stack Trace from Logcat Below

這是Logcat的整個堆棧。 我基本上是在使用twitter4j庫。 我已經從twitter開發人員站點添加了令牌和秘密。 你能幫我調試一下嗎? 該代碼主要基於http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/

謝謝!

12-13 16:38:22.225: E/AndroidRuntime(12659): FATAL EXCEPTION: main
12-13 16:38:22.225: E/AndroidRuntime(12659): Process: code.laerstudios.gappa, PID: 12659
12-13 16:38:22.225: E/AndroidRuntime(12659): android.os.NetworkOnMainThreadException
12-13 16:38:22.225: E/AndroidRuntime(12659):at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at java.net.InetAddress.getAllByName(InetAddress.java:214)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:254)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:135)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:98)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at twitter4j.auth.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:122)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at twitter4j.auth.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:104)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at twitter4j.TwitterBaseImpl.getOAuthRequestToken(TwitterBaseImpl.java:298)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at code.laerstudios.gappa.MainActivity.loginToTwitter(MainActivity.java:225)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at code.laerstudios.gappa.MainActivity.access$0(MainActivity.java:212)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at code.laerstudios.gappa.MainActivity$1.onClick(MainActivity.java:153)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at android.view.View.performClick(View.java:4438)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at android.view.View$PerformClick.run(View.java:18422)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at android.os.Handler.handleCallback(Handler.java:733)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at android.os.Handler.dispatchMessage(Handler.java:95)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at android.os.Looper.loop(Looper.java:136)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at android.app.ActivityThread.main(ActivityThread.java:5019)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at java.lang.reflect.Method.invoke(Native Method)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
12-13 16:38:22.225: E/AndroidRuntime(12659):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
12-13 16:38:25.449: I/Process(12659): Sending signal. PID: 12659 SIG: 9

教人釣魚;

如果您使用Google捕獲到的異常,則會注意到您無法在主線程上運行網絡操作。

https://www.google.co.uk/search?q=NetworkOnMainThreadException&client=ubuntu&channel=cs&oq=NetworkOnMainThreadException&aqs=chrome.0.69i57j69i59&sourceid=chrome&ie=UTF-8

頂部的異常非常清楚: android.os.NetworkOnMainThreadException

Android不允許您在主線程上進行網絡操作。 嘗試創建一個AsyncTask然后在那里異步操作。

很簡單您的UI線程中有一些與網絡相關的代碼,因此將其放在類似

Thread thread = new Thread()
{
@Override
public void run() {

}
};

thread.start();

Http requestsocket相關的任何代碼或與網絡相關的任何此類事物都將阻止UI執行,將導致此異常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM