i want to show tweets in a list view in android application.i have used following code but the tweets are not showing.. could anybody pls tell how to show 5 latest tweets in list view which are reloaded after every 15 minutes? i have tried many codes but did not reached at any result!
TweetsListActivity.java
public class TweetsListActivity extends ListActivity {
TextView tv;
ListView lv;
RequestToken requestToken;
Twitter twitter;
TextView username;
Textview message;
TweetsListAdapter adapter;
ArrayList<tweet> tweetsDataList;
String tweetsData;
static ConfigurationBuilder cb;
private static SharedPreferences mSharedPreferences;
AlertDialogManager alert = new AlertDialogManager();
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.tweets_list);
super.onCreate(savedInstanceState);
username = (TextView) findViewById(R.id.username);
message = (TextView) findViewById(R.id.message)
getTweets("android", 1);
lv = (ListView) findViewById(R.id.listView);
adapter = new TweetsListAdapter(TweetsListActivity.this, tweetsDataList);
lv.setAdapter(adapter);
mSharedPreferences = getApplicationContext().getSharedPreferences("MyPref",
0);
}
private ArrayList<tweet> getTweets(String searchTerm, int page) {
Intent i = getIntent();
tweetsData = i.getStringExtra("tweetsData");
Log.v("SizeNext--", "" + tweetsData);
tweetsDataList = new ArrayList<tweet>();
String responseBody = null;
try {
HttpClient hc = (HttpClient) new DefaultHttpClient();
HttpGet get = new HttpGet(
"http://search.twitter.com/search.json?q==@" + searchTerm+ "&rpp=100&page=" + page);
HttpResponse rp = (HttpResponse) ((AbstractHttpClient) hc).execute(get);
if (((org.apache.http.HttpResponse) rp).getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String result = EntityUtils
.toString(((org.apache.http.HttpResponse) rp).getEntity());
JSONObject json = null;
JSONArray ja = null;
Object obj;
json = (JSONObject) obj;
ja = json.getJSONArray("results");
for (int i1 = 0; i1 < ja.length(); i1++) {
JSONObject tweet_obj = ja.getJSONObject(i1);
Tweet tweetsData = new Tweet();
tweetsData.setId(tweet_obj.getString("id"));
tweetsData.setUsername(tweet_obj.getString("from_user"));
tweetsData.setMessage(tweet_obj.getString("text"));
tweetsDataList.add(tweetsData);
}
}
}
catch (Exception e) {
Log.e("TwitterFeedActivity", "Error loading JSON", e);
}
return tweetsDataList;
}
LOGCAT ERROR
08-28 01:52:35.923: E/TwitterFeedActivity(2383): Error loading JSON
08-28 01:52:35.923: E/TwitterFeedActivity(2383): java.lang.ClassCastException: org.apache.http.impl.client.DefaultHttpClient cannot be cast to twitter4j.internal.http.HttpClient
08-28 01:52:35.923: E/TwitterFeedActivity(2383): at com.twitter_demo_project.TweetsListActivity.getTweets(TweetsListActivity.java:144)
08-28 01:52:35.923: E/TwitterFeedActivity(2383): at com.twitter_demo_project.TweetsListActivity.onCreate(TweetsListActivity.java:74)
08-28 01:52:35.923: E/TwitterFeedActivity(2383): at android.app.Activity.performCreate(Activity.java:5133)
any help would be highly appreciated.. thank you.