I've been studying android for a small period of time, and i'm trying to put some twitter functions in to my apps.
What i'm trying to do is get the twitter trending topics and put it on a String, and then display them on a textview. Is it possible? I found almost nothing on the internet, so hope you can help me.
`
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_trending);
getTrendingButton = (Button) findViewById(R.id.gettrendingbutton);
trendingList = (TextView) findViewById(R.id.trendinglist);
cb = new ConfigurationBuilder();
cb.setApplicationOnlyAuthEnabled(false);
cb.setOAuthConsumerKey("key")
.setOAuthConsumerSecret("key")
.setOAuthAccessToken("key")
.setOAuthAccessTokenSecret("key");
twitterFactory = new TwitterFactory(cb.build());
twitter = twitterFactory.getInstance();
}
@Override
protected void onStart()
{
super.onStart();
getTrendingButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
String trendsString = " ";
Trends trends;
try {
trends = twitter.getPlaceTrends(1);
int count = 0;
for (Trend trend : trends.getTrends()) {
if (count < 10)
{
trendsString = trend.getName().toString() + "\n";
}
trendingList.setText(trendsString);
}
} catch (TwitterException e) {
e.printStackTrace();
}
}
});
}`
and here the analyze stacktrace
android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1448) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:102) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90) at java.net.InetAddress.getAllByName(InetAddress.java:787) at com.android.okhttp.Dns$1.lookup(Dns.java:39) at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:200) at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:148) at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:90) at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:190) at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:142) at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:104) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:392) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:325) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:489) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:435) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:566) at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105) at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(Unknown Source:0) at twitter4j.HttpResponseImpl.(HttpResponseImpl.java:35) at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:149) at twitter4j.HttpClientBase.request(HttpClientBase.java:57) at twitter4j.HttpClientBase.get(HttpClientBase.java:75) at twitter4j.TwitterImpl.get(TwitterImpl.java:2066) at twitter4j.TwitterImpl.getPlaceTrends(TwitterImpl.java:1912) at gusmappdev.myapp.TrendingActivity$1.onClick(TrendingActivity.java:77) at android.view.View.performClick(View.java:6897) at android.widget.TextView.performClick(TextView.java:12693) at android.view.View$PerformClick.run(View.java:26100) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6942) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Hope you guys can help me :) Thanks