List of usage examples for twitter4j QueryResult nextQuery
Query nextQuery();
From source file:com.daiv.android.twitter.ui.search.TwitterSearchFragment.java
License:Apache License
public void getMore() { if (hasMore) { canRefresh = false;/*from w ww . j av a 2s.c om*/ mPullToRefreshLayout.setRefreshing(true); new Thread(new Runnable() { @Override public void run() { try { Twitter twitter = Utils.getTwitter(context, settings); QueryResult result = twitter.search(query); for (twitter4j.Status status : result.getTweets()) { tweets.add(status); } if (result.hasNext()) { query = result.nextQuery(); hasMore = true; } else { hasMore = false; } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { adapter.notifyDataSetChanged(); mPullToRefreshLayout.setRefreshing(false); canRefresh = true; } }); } catch (Exception e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { mPullToRefreshLayout.setRefreshing(false); canRefresh = true; } }); } } }).start(); } }
From source file:com.firewallid.crawling.TwitterApp.java
public List<Status> replyTo(Status status) { String userScreenName = status.getUser().getScreenName(); String date = new SimpleDateFormat("YYYY-MM-DD").format(status.getCreatedAt()); Query query = new Query("to:" + userScreenName + " since:" + date); List<Status> repliesAll = new ArrayList<>(); while (query != null) { QueryResult result = search(query); List<Status> replies = result.getTweets().parallelStream() /* Only reply to status's id*/ .filter(tweet -> tweet.getInReplyToStatusId() == status.getId()).collect(Collectors.toList()); repliesAll.addAll(replies);/* w ww.j av a2s . co m*/ query = result.nextQuery(); } return repliesAll; }
From source file:com.firewallid.crawling.TwitterApp.java
public List<Status> searchTweet(String keyword, int limit) { List<Status> result = new ArrayList<>(); Query query = new Query(keyword); while (query != null && result.size() <= limit) { QueryResult search = search(query); result.addAll(search.getTweets()); query = search.nextQuery(); }//from ww w . ja v a 2 s . c o m return result; }
From source file:com.fsatir.twitter.TwitterManagedBean.java
public List<Media> trendImageList(Twitter twitter, String trendName) { Query query = new Query(trendName + " AND filter:images"); query.setCount(1);//from w w w . ja va2 s .c o m QueryResult result; try { do { result = twitter.search(query); List<twitter4j.Status> tweets = result.getTweets(); int counter = 0; for (twitter4j.Status status : tweets) { Media myMedia = new Media(); int control = 0; for (MediaEntity me : status.getMediaEntities()) { //Tek grsel almay kesinletirmek iin kontrol. //leride modeldeki trendImgURL diziye dntrlerek kontrol kaldrlabilir. if (control < 1) myMedia.setTrendImgURL(me.getMediaURLHttps()); control++; } // URL null deilse, grsel ve bigileri list'e eklenir. if (myMedia.getTrendImgURL() != null) { myMedia.setTweetID(status.getId()); myMedia.setFavorite_count(status.getFavoriteCount()); myMedia.setRetweet_count(status.getRetweetCount()); //myMedia.setTrendImgURL(status.getMediaEntities()[0].getMediaURLHttps()); myMedia.setTrendName(trendName); myMedia.setName(Long.toString(status.getId())); myMedia.setType(status.getMediaEntities()[0].getType()); myMediaList.add(counter++, myMedia); } } } while ((query = result.nextQuery()) != null && result.getRateLimitStatus().getRemaining() > 0); } catch (TwitterException e) { e.printStackTrace(); } myMediaListFiltered = filterList(myMediaList); return myMediaListFiltered; }
From source file:com.klinker.android.twitter.activities.drawer_activities.discover.trends.SearchedTrendsActivity.java
License:Apache License
public void onRefreshStarted() { new Thread(new Runnable() { @Override//from w w w.j ava 2 s. c o m public void run() { final long topId; if (tweets.size() > 0) { topId = tweets.get(0).getId(); } else { topId = 0; } try { Twitter twitter = Utils.getTwitter(context, settings); query = new Query(searchQuery); QueryResult result = twitter.search(query); tweets.clear(); for (twitter4j.Status status : result.getTweets()) { tweets.add(status); } if (result.hasNext()) { query = result.nextQuery(); hasMore = true; } else { hasMore = false; } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { int top = 0; for (int i = 0; i < tweets.size(); i++) { if (tweets.get(i).getId() == topId) { top = i; break; } } adapter = new TimelineArrayAdapter(context, tweets); listView.setAdapter(adapter); listView.setVisibility(View.VISIBLE); listView.setSelection(top); spinner.setVisibility(View.GONE); mPullToRefreshLayout.setRefreshing(false); } }); } catch (Exception e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { spinner.setVisibility(View.GONE); mPullToRefreshLayout.setRefreshing(false); } }); } } }).start(); }
From source file:com.klinker.android.twitter.activities.drawer_activities.discover.trends.SearchedTrendsActivity.java
License:Apache License
public void doSearch(final String mQuery) { spinner.setVisibility(View.VISIBLE); new Thread(new Runnable() { @Override//w w w . j av a2s .com public void run() { try { Twitter twitter = Utils.getTwitter(context, settings); Log.v("talon_search", "search query: " + mQuery); query = new Query(); if (mQuery.contains(" TOP")) { query.setResultType(Query.ResultType.popular); } query.setQuery(mQuery.replace(" TOP", "")); QueryResult result; try { result = twitter.search(query); } catch (OutOfMemoryError e) { return; } tweets.clear(); for (twitter4j.Status status : result.getTweets()) { tweets.add(status); } if (result.hasNext()) { query = result.nextQuery(); hasMore = true; } else { hasMore = false; } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { adapter = new TimelineArrayAdapter(context, tweets); listView.setAdapter(adapter); listView.setVisibility(View.VISIBLE); spinner.setVisibility(View.GONE); } }); } catch (Exception e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { spinner.setVisibility(View.GONE); } }); } } }).start(); }
From source file:com.klinker.android.twitter.activities.search.TwitterSearchFragment.java
License:Apache License
public void doSearch(final String mQuery) { spinner.setVisibility(View.VISIBLE); if (listView.getVisibility() != View.GONE) { listView.setVisibility(View.GONE); }//from w ww .j ava 2s .c om new Thread(new Runnable() { @Override public void run() { try { Twitter twitter = Utils.getTwitter(context, settings); Log.v("talon_searching", "query in frag: " + mQuery); query = new Query(mQuery); if (topTweets) { query.setResultType(Query.ResultType.popular); } else { query.setResultType(null); } QueryResult result = twitter.search(query); tweets.clear(); for (twitter4j.Status status : result.getTweets()) { tweets.add(status); } if (result.hasNext()) { query = result.nextQuery(); hasMore = true; } else { hasMore = false; } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { adapter = new TimelineArrayAdapter(context, tweets, onlyStatus); listView.setAdapter(adapter); listView.setVisibility(View.VISIBLE); spinner.setVisibility(View.GONE); } }); } catch (Exception e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { spinner.setVisibility(View.GONE); } }); } catch (OutOfMemoryError e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { spinner.setVisibility(View.GONE); } }); } } }).start(); }
From source file:com.klinker.android.twitter.activities.tweet_viewer.fragments.ConversationFragment.java
License:Apache License
public void getDiscussion(final ListView listView, final long tweetId, final LinearLayout progressBar, final HoloTextView none, final Status status) { Log.v("talon_replies", "getting discussion"); if (replies.size() == 0) { replies.add(status);/* w w w . j a v a 2s . c o m*/ } Thread getReplies = new Thread(new Runnable() { @Override public void run() { if (!isRunning) { return; } ArrayList<twitter4j.Status> all = null; Twitter twitter = Utils.getTwitter(context, settings); try { Log.v("talon_replies", "looking for discussion"); long id = status.getId(); String screenname = status.getUser().getScreenName(); query = new Query("@" + screenname + " since_id:" + id); Log.v("talon_replies", "query string: " + query.getQuery()); try { query.setCount(100); } catch (Throwable e) { // enlarge buffer error? query.setCount(30); } QueryResult result = twitter.search(query); Log.v("talon_replies", "result: " + result.getTweets().size()); all = new ArrayList<twitter4j.Status>(); do { Log.v("talon_replies", "do loop repetition"); if (!isRunning) { return; } List<Status> tweets = result.getTweets(); for (twitter4j.Status tweet : tweets) { if (tweet.getInReplyToStatusId() == id) { all.add(tweet); Log.v("talon_replies", tweet.getText()); } } if (all.size() > 0) { for (int i = all.size() - 1; i >= 0; i--) { Log.v("talon_replies", "inserting into arraylist:" + all.get(i).getText()); replies.add(all.get(i)); } all.clear(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { progressBar.setVisibility(View.GONE); try { if (replies.size() > 0) { if (adapter == null || adapter.getCount() == 0) { adapter = new TimelineArrayAdapter(context, replies); listView.setAdapter(adapter); listView.setVisibility(View.VISIBLE); } else { Log.v("talon_replies", "notifying adapter change"); adapter.notifyDataSetChanged(); } } else { none.setVisibility(View.VISIBLE); } } catch (Exception e) { // none and it got the null object e.printStackTrace(); listView.setVisibility(View.GONE); none.setVisibility(View.VISIBLE); } } }); } try { Thread.sleep(250); } catch (Exception e) { // since we are changing the arraylist for the adapter in the background, we need to make sure it // gets updated before continuing } query = result.nextQuery(); if (query != null) result = twitter.search(query); } while (query != null); } catch (Exception e) { e.printStackTrace(); } catch (OutOfMemoryError e) { e.printStackTrace(); } if (replies.size() < 2) { // nothing to show, so tell them that ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { progressBar.setVisibility(View.GONE); listView.setVisibility(View.GONE); none.setVisibility(View.VISIBLE); } }); } } }); getReplies.setPriority(8); getReplies.start(); }
From source file:com.klinker.android.twitter.ui.drawer_activities.discover.NearbyTweets.java
License:Apache License
public void getTweets() { canRefresh = false;//from w w w .j a v a 2s .com new Thread(new Runnable() { @Override public void run() { try { Twitter twitter = Utils.getTwitter(context, DrawerActivity.settings); boolean manualLoc = sharedPrefs.getBoolean("manually_config_location", false); int i = 0; while (!connected && i < 5 && !manualLoc) { try { Thread.sleep(1500); } catch (Exception e) { } i++; } double latitude = -1; double longitude = -1; if (manualLoc) { // need to query yahoos api for the location... double[] loc = getLocationFromYahoo(sharedPrefs.getInt("woeid", 2379574)); latitude = loc[0]; longitude = loc[1]; } else { // set it from the location client Location location = mLocationClient.getLastLocation(); latitude = location.getLatitude(); longitude = location.getLongitude(); } query = new Query(); query.setGeoCode(new GeoLocation(latitude, longitude), 10, Query.MILES); QueryResult result = twitter.search(query); if (result.hasNext()) { hasMore = true; query = result.nextQuery(); } else { hasMore = false; } for (Status s : result.getTweets()) { statuses.add(s); } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { adapter = new TimelineArrayAdapter(context, statuses); listView.setAdapter(adapter); listView.setVisibility(View.VISIBLE); LinearLayout spinner = (LinearLayout) layout.findViewById(R.id.list_progress); spinner.setVisibility(View.GONE); } }); } catch (Throwable e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { try { Toast.makeText(context, getString(R.string.error), Toast.LENGTH_SHORT).show(); } catch (IllegalStateException e) { // not attached to activity } } }); } canRefresh = true; } }).start(); }
From source file:com.klinker.android.twitter.ui.drawer_activities.discover.trends.SearchedTrendsActivity.java
License:Apache License
public void doSearch(final String mQuery) { spinner.setVisibility(View.VISIBLE); new Thread(new Runnable() { @Override/*from ww w . j ava2s. co m*/ public void run() { try { Twitter twitter = Utils.getTwitter(context, settings); query = new Query(); if (mQuery.contains(" TOP")) { query.setResultType(Query.ResultType.popular); } query.setQuery(mQuery.replace(" TOP", "")); QueryResult result; try { result = twitter.search(query); } catch (OutOfMemoryError e) { return; } tweets.clear(); for (twitter4j.Status status : result.getTweets()) { tweets.add(status); } if (result.hasNext()) { query = result.nextQuery(); hasMore = true; } else { hasMore = false; } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { adapter = new TimelineArrayAdapter(context, tweets); listView.setAdapter(adapter); listView.setVisibility(View.VISIBLE); spinner.setVisibility(View.GONE); } }); } catch (Exception e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { spinner.setVisibility(View.GONE); } }); } } }).start(); }