Java tutorial
/* * Copyright 2007 Yusuke Yamamoto * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //package app.nitin.jaiman; import com.mysql.jdbc.Connection; import java.util.ArrayList; import java.util.HashSet; import twitter4j.*; /** * <p> * This is a code example of Twitter4J Streaming API - user stream.<br> * Usage: java twitter4j.examples.PrintUserStream. Needs a valid twitter4j.properties file with Basic Auth _and_ OAuth properties set<br> * </p> * * @author Yusuke Yamamoto - yusuke at mac.com * @author Rmy Rakic - remy dot rakic at gmail.com */ public class PrintUserStream { static int nooftweet; static String param[] = new String[50]; static String uname = null; static TwitterStream twitterStream; public PrintUserStream() { twitterStream = new TwitterStreamFactory().getInstance(); } public void Trigger(String[] param, int nooftweets, String username) throws TwitterException { nooftweet = nooftweets; System.out.println(username); uname = username; this.param = param; twitterStream.addListener(listener); // user() method internally creates a thread which manipulates TwitterStream and calls these adequate listener methods continuously. twitterStream.user(param); } private static final UserStreamListener listener = new UserStreamListener() { int count = 0; HashSet<String> userlist = new HashSet<String>(); public void dump(HashSet<String> userlist) { Insert in = new Insert(); String passer[] = new String[50]; //passer= GeoGui.param1.getText().split(","); String a = param[0].replaceAll(" ", ""); String b = a.replaceAll("@", ""); String c = b.replaceAll("#", ""); System.out.println(" -> " + uname); in.inserUserDatabase(userlist, c, uname); } @Override public void onStatus(Status status) { count++; if (count <= nooftweet) { System.out .println("onStatus @" + status.getUser().getScreenName() + " - " + status.getGeoLocation()); MainActivity.display1.append("Tweet Number:" + count + " \n onStatus @" + status.getUser().getScreenName() + " - " + status.getText() + " - " + status.getUser().getLocation() + "\n ________________________________ \n"); userlist.add(status.getUser().getScreenName()); if (userlist.size() >= 15) { dump(userlist); userlist.clear(); } } else { twitterStream.shutdown(); } } @Override public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) { System.out.println("Got a status deletion notice id:" + statusDeletionNotice.getStatusId()); } @Override public void onDeletionNotice(long directMessageId, long userId) { System.out.println("Got a direct message deletion notice id:" + directMessageId); } @Override public void onTrackLimitationNotice(int numberOfLimitedStatuses) { System.out.println("Got a track limitation notice:" + numberOfLimitedStatuses); } @Override public void onScrubGeo(long userId, long upToStatusId) { System.out.println("Got scrub_geo event userId:" + userId + " upToStatusId:" + upToStatusId); } @Override public void onStallWarning(StallWarning warning) { System.out.println("Got stall warning:" + warning); } @Override public void onFriendList(long[] friendIds) { System.out.print("onFriendList"); for (long friendId : friendIds) { System.out.print(" " + friendId); } System.out.println(); } @Override public void onFavorite(User source, User target, Status favoritedStatus) { System.out.println("onFavorite source:@" + source.getScreenName() + " target:@" + target.getScreenName() + " @" + favoritedStatus.getUser().getScreenName() + " - " + favoritedStatus.getText()); } @Override public void onUnfavorite(User source, User target, Status unfavoritedStatus) { System.out.println( "onUnFavorite source:@" + source.getScreenName() + " target:@" + target.getScreenName() + " @" + unfavoritedStatus.getUser().getScreenName() + " - " + unfavoritedStatus.getText()); } @Override public void onFollow(User source, User followedUser) { System.out.println( "onFollow source:@" + source.getScreenName() + " target:@" + followedUser.getScreenName()); } @Override public void onUnfollow(User source, User followedUser) { System.out.println( "onFollow source:@" + source.getScreenName() + " target:@" + followedUser.getScreenName()); } @Override public void onDirectMessage(DirectMessage directMessage) { System.out.println("onDirectMessage text:" + directMessage.getText()); } @Override public void onUserListMemberAddition(User addedMember, User listOwner, UserList list) { System.out.println("onUserListMemberAddition added member:@" + addedMember.getScreenName() + " listOwner:@" + listOwner.getScreenName() + " list:" + list.getName()); } @Override public void onUserListMemberDeletion(User deletedMember, User listOwner, UserList list) { System.out.println("onUserListMemberDeleted deleted member:@" + deletedMember.getScreenName() + " listOwner:@" + listOwner.getScreenName() + " list:" + list.getName()); } @Override public void onUserListSubscription(User subscriber, User listOwner, UserList list) { System.out.println("onUserListSubscribed subscriber:@" + subscriber.getScreenName() + " listOwner:@" + listOwner.getScreenName() + " list:" + list.getName()); } @Override public void onUserListUnsubscription(User subscriber, User listOwner, UserList list) { System.out.println("onUserListUnsubscribed subscriber:@" + subscriber.getScreenName() + " listOwner:@" + listOwner.getScreenName() + " list:" + list.getName()); } @Override public void onUserListCreation(User listOwner, UserList list) { System.out.println( "onUserListCreated listOwner:@" + listOwner.getScreenName() + " list:" + list.getName()); } @Override public void onUserListUpdate(User listOwner, UserList list) { System.out.println( "onUserListUpdated listOwner:@" + listOwner.getScreenName() + " list:" + list.getName()); } @Override public void onUserListDeletion(User listOwner, UserList list) { System.out.println( "onUserListDestroyed listOwner:@" + listOwner.getScreenName() + " list:" + list.getName()); } @Override public void onUserProfileUpdate(User updatedUser) { System.out.println("onUserProfileUpdated user:@" + updatedUser.getScreenName()); } @Override public void onBlock(User source, User blockedUser) { System.out.println( "onBlock source:@" + source.getScreenName() + " target:@" + blockedUser.getScreenName()); } @Override public void onUnblock(User source, User unblockedUser) { System.out.println( "onUnblock source:@" + source.getScreenName() + " target:@" + unblockedUser.getScreenName()); } @Override public void onException(Exception ex) { ex.printStackTrace(); System.out.println("onException:" + ex.getMessage()); } @Override public void onUserSuspension(long l) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void onUserDeletion(long l) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }; }