2012-07-19 34 views

回答

5

請在下面的代碼中找到實現。
請將twitter4j-core-2.2.6.jar & twitter4j-stream-2.2.6.jar添加到您的構建路徑。

package com.apt.java.test.twitterdemo; 

import java.util.List; 

import twitter4j.DirectMessage; 
import twitter4j.Status; 
import twitter4j.StatusDeletionNotice; 
import twitter4j.StatusListener; 
import twitter4j.Twitter; 
import twitter4j.TwitterException; 
import twitter4j.TwitterFactory; 
import twitter4j.TwitterStream; 
import twitter4j.TwitterStreamFactory; 
import twitter4j.User; 
import twitter4j.UserList; 
import twitter4j.UserStreamListener; 
import twitter4j.auth.AccessToken; 
import twitter4j.conf.ConfigurationBuilder; 

public class TwitterDemo { 
    private TwitterStream twitterStream; 
    private void initConfiguration(){ 
     ConfigurationBuilder cb = new ConfigurationBuilder(); 
     cb.setDebugEnabled(true) 
      .setOAuthConsumerKey("YOUR CONSUMER KEY") 
      .setOAuthConsumerSecret("YOUR CONSUMER SECRET"); 

     TwitterStreamFactory twitterStreamFactory = new TwitterStreamFactory(cb.build()); 
     twitterStream = twitterStreamFactory.getInstance(new AccessToken("YOUR ACCESS TOKEN", "YOUR ACCESS TOKEN SECRET")); 
     twitterStream.addListener(userStreamListener); 
     twitterStream.user(); 

    } 

    UserStreamListener userStreamListener = new UserStreamListener() { 

     @Override 
     public void onException(Exception arg0) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onTrackLimitationNotice(int arg0) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onStatus(Status status) { 
      // TODO Auto-generated method stub 
      System.out.println(status.getText()); 
     } 

     @Override 
     public void onScrubGeo(long arg0, long arg1) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onDeletionNotice(StatusDeletionNotice arg0) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserProfileUpdate(User arg0) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserListUpdate(User arg0, UserList arg1) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserListUnsubscription(User arg0, User arg1, UserList arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserListSubscription(User arg0, User arg1, UserList arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserListMemberDeletion(User arg0, User arg1, UserList arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserListMemberAddition(User arg0, User arg1, UserList arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserListDeletion(User arg0, UserList arg1) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUserListCreation(User arg0, UserList arg1) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUnfavorite(User arg0, User arg1, Status arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onUnblock(User arg0, User arg1) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onRetweet(User arg0, User arg1, Status arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onFriendList(long[] arg0) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onFollow(User arg0, User arg1) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onFavorite(User arg0, User arg1, Status arg2) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onDirectMessage(DirectMessage message) { 
      // TODO Auto-generated method stub 
      System.out.println(message.getText()); 
     } 

     @Override 
     public void onDeletionNotice(long arg0, long arg1) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onBlock(User arg0, User arg1) { 
      // TODO Auto-generated method stub 

     } 
    }; 

    public static void main(String[] args){ 
     TwitterDemo demo = new TwitterDemo(); 
     demo.initConfiguration(); 

    } 
} 
+1

很好的幫助。非常感謝@SamikBandyopadhyay – 2012-09-10 08:13:06

+0

即使應用程序關閉,也可以保持此偵聽器活着嗎? – SoH 2012-10-06 11:04:51

+0

它實際上創建了一個監聽器線程並一直在監聽..所以你不關閉應用程序。 – 2012-10-11 12:11:51

相關問題