Twitter integration with Android -
Twitter integration with Android -
i trying integrate twitter app in android. trying out androidhive guide given here in http://goo.gl/vf4pk
i getting below error everytime click on login twitter button.
06-24 08:58:09.659: e/androidruntime(30667): fatal exception: main 06-24 08:58:09.659: e/androidruntime(30667): process: com.example.testoauthtweets, pid: 30667 06-24 08:58:09.659: e/androidruntime(30667): android.os.networkonmainthreadexception 06-24 08:58:09.659: e/androidruntime(30667): @ android.os.strictmode$androidblockguardpolicy.onnetwork(strictmode.java:1145) 06-24 08:58:09.659: e/androidruntime(30667): @ java.net.inetaddress.lookuphostbyname(inetaddress.java:385) 06-24 08:58:09.659: e/androidruntime(30667): @ java.net.inetaddress.getallbynameimpl(inetaddress.java:236) 06-24 08:58:09.659: e/androidruntime(30667): @ java.net.inetaddress.getallbyname(inetaddress.java:214) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.dns$1.getallbyname(dns.java:28) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.routeselector.resetnextinetsocketaddress(routeselector.java:216) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.routeselector.next(routeselector.java:122) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.httpengine.connect(httpengine.java:292) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.httpengine.sendsocketrequest(httpengine.java:255) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.httpengine.sendrequest(httpengine.java:206) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.httpurlconnectionimpl.execute(httpurlconnectionimpl.java:345) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.httpurlconnectionimpl.connect(httpurlconnectionimpl.java:89) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.okhttp.internal.http.httpurlconnectionimpl.getoutputstream(httpurlconnectionimpl.java:197) 06-24 08:58:09.659: e/androidruntime(30667): @ twitter4j.internal.http.httpclientimpl.request(httpclientimpl.java:150) 06-24 08:58:09.659: e/androidruntime(30667): @ twitter4j.internal.http.httpclientwrapper.request(httpclientwrapper.java:61) 06-24 08:58:09.659: e/androidruntime(30667): @ twitter4j.internal.http.httpclientwrapper.post(httpclientwrapper.java:98) 06-24 08:58:09.659: e/androidruntime(30667): @ twitter4j.auth.oauthauthorization.getoauthrequesttoken(oauthauthorization.java:122) 06-24 08:58:09.659: e/androidruntime(30667): @ twitter4j.auth.oauthauthorization.getoauthrequesttoken(oauthauthorization.java:104) 06-24 08:58:09.659: e/androidruntime(30667): @ twitter4j.twitterbaseimpl.getoauthrequesttoken(twitterbaseimpl.java:281) 06-24 08:58:09.659: e/androidruntime(30667): @ com.example.testoauthtweets.mainactivity.logintotwitter(mainactivity.java:189) 06-24 08:58:09.659: e/androidruntime(30667): @ com.example.testoauthtweets.mainactivity.access$1(mainactivity.java:175) 06-24 08:58:09.659: e/androidruntime(30667): @ com.example.testoauthtweets.mainactivity$1.onclick(mainactivity.java:123) 06-24 08:58:09.659: e/androidruntime(30667): @ android.view.view.performclick(view.java:4438) 06-24 08:58:09.659: e/androidruntime(30667): @ android.view.view$performclick.run(view.java:18422) 06-24 08:58:09.659: e/androidruntime(30667): @ android.os.handler.handlecallback(handler.java:733) 06-24 08:58:09.659: e/androidruntime(30667): @ android.os.handler.dispatchmessage(handler.java:95) 06-24 08:58:09.659: e/androidruntime(30667): @ android.os.looper.loop(looper.java:136) 06-24 08:58:09.659: e/androidruntime(30667): @ android.app.activitythread.main(activitythread.java:5001) 06-24 08:58:09.659: e/androidruntime(30667): @ java.lang.reflect.method.invoke(native method) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:785) 06-24 08:58:09.659: e/androidruntime(30667): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:601) i getting error here:
private void logintotwitter() { // check if logged in if (!istwitterloggedinalready()) { configurationbuilder builder = new configurationbuilder(); builder.setoauthconsumerkey(twitter_consumer_key); builder.setoauthconsumersecret(twitter_consumer_secret); configuration configuration = builder.build(); twitterfactory mill = new twitterfactory(configuration); twitter = factory.getinstance(); seek { requesttoken = twitter .getoauthrequesttoken(twitter_callback_url); this.startactivity(new intent(intent.action_view, uri .parse(requesttoken.getauthenticationurl()))); } grab (twitterexception e) { e.printstacktrace(); } } else { // user logged twitter toast.maketext(getapplicationcontext(), "already logged twitter", toast.length_long).show(); } } update 1:
i updated library files latest. able login screen after login , take access gets app shows login error - null. looks access token not getting updated or accepted.
can help me this?
thanks!
android.os.networkonmainthreadexception
you doing network related operation in ui(main) thread. must doing in separate worker thread or utilize asynctask that.
networkonmainthreadexception - developers site
note : thrown applications targeting honeycomb sdk or higher.
update 1: in case set code fetching request token , fetching authentication url in doinbackground method of asynctask.
android twitter twitter4j
Comments
Post a Comment