从特定主题标签的查询返回的StatusJSONImpl获取用户的用户名及其推文

时间:2015-04-01 17:46:31

标签: java android twitter twitter4j

我正在使用Twitter4j运行查询以获取包含特定主题标签的任何推文。从这个查询中我得到一个StatusJSONImpl,我想知道如何获得每个用户的用户名和推文。我不需要日期或ID或类似的东西,我试图避免手动解析。

那么有没有办法从我的查询中获取每个用户的用户名和推文?或者有更好的方法吗?

以下是我用于查询的代码:

//Textview to display hashtags
    hashtags = (TextView) findViewById(R.id.hashtags);
    hashtags.setTextColor(Color.WHITE);

    new Thread(new Runnable() 
    {

        @Override
        public void run() 
        {
            ConfigurationBuilder cb = new ConfigurationBuilder();
            cb.setDebugEnabled(true);
            cb.setOAuthConsumerKey(consumerkey);
            cb.setOAuthConsumerSecret(consumersecret);
            cb.setOAuthAccessToken(accesstoken);
            cb.setOAuthAccessTokenSecret(accesstokensecret);

            try
            {
                Twitter twitter = new TwitterFactory(cb.build()).getInstance();
                Query query = new Query(st1);
                QueryResult result;

                do
                {
                    result = twitter.search(query);
                    tweets = result.getTweets();
                } while ((query = result.nextQuery()) != null);

                runOnUiThread(new Runnable() 
                {  
                    @Override
                    public void run() 
                    {
                        setList();
                    }//end run
                });//end runnable

            }//end try
            catch (TwitterException te)
            {
                te.printStackTrace();
            }//end catch
        }//end run

    }).start();

代码将查询放入List(这是推文的内容)。

1 个答案:

答案 0 :(得分:1)

使用result.getTweets(),您获得了List<Status>,使用List,您可以获得每个用户名和每个推文文字

for(Status tweet: tweets){
    String username = tweet.getUser().getScreenName();
    String text = tweet.getText();
}

就是这样