安卓微博4J整合获得评论实体 [英] android twitter 4j integration get tweet entities

查看:166
本文介绍了安卓微博4J整合获得评论实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Twiitter4j正在Twitter的整合与Android。我试图获取家庭的时间表和工作的罚款。但是,当我希望得到的网址包含在鸣叫没有的功能。是否有functon获得评论的entites像网址等。

下面是code

  CB =新ConfigurationBuilder();
    cb.setDebugEnabled(真).setOAuthConsumerKey(Constants.CONSUMER_KEY)
            .setOAuthConsumerSecret(Constants.CONSUMER_SECRET)
            .setOAuthAccessToken(accessToken).setOAuthAccessTokenSecret(
                    accessSecret);

    尝试 {
        TwitterFactory厂=新TwitterFactory(cb.build());
        //获取Twitter的情况下使用默认凭据
        叽叽喳喳叽叽喳喳= factory.getInstance();
        用户USER = twitter.verifyCredentials();
        名单<状态>状态= twitter.getHomeTimeline();
        的System.out.println(显示@+ user.getScreenName()+家时间表。);
        对于(状态状态:状态){

            的System.out.println(@+ status.getUser()getScreenName()+ - + status.getText()+ - + status.getURLs()+ - + status.getURLEntities( ));
        }
    }赶上(TwitterException TE){
        te.printStackTrace();
        的System.out.println(无法获得时间表:+ te.getMessage());
        System.exit(-1);
    }
 


与索尼的code运作良好,并在那之后我提出我的code到异步任务,它显示了一些错误

下面是我的编辑code

 保护字符串doInBackground(无效参数... args){
        串响应=无效;

        尝试 {
            TwitterFactory厂=新TwitterFactory(cb.build());
            //获取Twitter的情况下使用默认凭据
            叽叽喳喳叽叽喳喳= factory.getInstance();
            用户USER = twitter.verifyCredentials();
            ResponseList<状态>状态= twitter.getHomeTimeline();


            的System.out.println(显示@+ user.getScreenName()+家时间表。);
            对于(状态状态:状态){

                的System.out.println(@+ status.getUser()getScreenName()+ - + status.getText()+ - + status.getUser()getProfileImageURL());
                URLEntity [] uent = status.getURLEntities();
                如果(uent!= NULL){
                    对于(INT K = 0; K< uent.length; k ++){
                        Log.i(URL实体,DP地址+ uent [K] .getDisplayURL()
                                +网址+ uent [k]的.getURL()+开始
                                + uent [K] .getStart()+端
                                + uent [k]的.getEnd());
                    }
}
            }

        }赶上(TwitterException TE){
            te.printStackTrace();
            的System.out.println(无法获得时间表:+ te.getMessage());
            System.exit(-1);
        }
        返回响应;
    }
 

解决方案

您只需要添加更多的线,而创建 ConfigurationBuilder

对象

cb.setIncludeEntitiesEnabled(真);

提示下一个code 的),您将得到实体的话,

  ResponseList<状态>表= twitter.getHomeTimeline();
URLEntity [] uent = list.get(0).getURLEntities();
如果(uent!= NULL){
                    对于(INT K = 0; K< uent.length; k ++){
                        Log.i(URL实体,DP地址+ uent [K] .getDisplayURL()
                                +网址+ uent [k]的.getURL()+开始
                                + uent [K] .getStart()+端
                                + uent [k]的.getEnd());
                    }
}
 

I am working on twitter integration with android using Twiitter4j. I am trying to fetch Home timelines and its working fine. But when i am looking to get urls included in the tweets there is no functions. Is there a functon to get tweet entites like urls etc.

Here is the code

cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true).setOAuthConsumerKey(Constants.CONSUMER_KEY)
            .setOAuthConsumerSecret(Constants.CONSUMER_SECRET)
            .setOAuthAccessToken(accessToken).setOAuthAccessTokenSecret(
                    accessSecret);

    try {
        TwitterFactory factory = new TwitterFactory(cb.build());
        // gets Twitter instance with default credentials
        Twitter twitter = factory.getInstance();
        User user = twitter.verifyCredentials();
        List<Status> statuses = twitter.getHomeTimeline();
        System.out.println("Showing @" + user.getScreenName() + "'s home timeline.");
        for (Status status : statuses) {

            System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText() + "--"+status.getURLs()+ "--"+status.getURLEntities());
        }
    } catch (TwitterException te) {
        te.printStackTrace();
        System.out.println("Failed to get timeline: " + te.getMessage());
        System.exit(-1);
    }


Works well with Sony's code and after that i have moved my code to async task and it shows some errors

Here is my edited code

        protected String doInBackground(Void... args) {
        String response = null;

        try {
            TwitterFactory factory = new TwitterFactory(cb.build());
            // gets Twitter instance with default credentials
            Twitter twitter = factory.getInstance();
            User user = twitter.verifyCredentials();
            ResponseList<Status> statuses = twitter.getHomeTimeline();


            System.out.println("Showing @" + user.getScreenName() + "'s home timeline.");
            for (Status status : statuses) {

                System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText() + "--"+status.getUser().getProfileImageURL());
                URLEntity[] uent = status.getURLEntities();
                if (uent != null) {
                    for (int k = 0; k < uent.length; k++) {
                        Log.i("URL Entity", "Dp Url " + uent[k].getDisplayURL()
                                + " URL " + uent[k].getURL() + " start "
                                + uent[k].getStart() + " end "
                                + uent[k].getEnd());
                    }
}
            }

        } catch (TwitterException te) {
            te.printStackTrace();
            System.out.println("Failed to get timeline: " + te.getMessage());
            System.exit(-1);
        }
        return response;
    }

解决方案

You just need to add one more line while creating object of ConfigurationBuilder

cb.setIncludeEntitiesEnabled(true);

(Hint for the next code)And you will get the Entities then,

ResponseList<Status> list = twitter.getHomeTimeline();
URLEntity[] uent = list.get(0).getURLEntities();
if (uent != null) {
                    for (int k = 0; k < uent.length; k++) {
                        Log.i("URL Entity", "Dp Url " + uent[k].getDisplayURL()
                                + " URL " + uent[k].getURL() + " start "
                                + uent[k].getStart() + " end "
                                + uent[k].getEnd());
                    }
}

这篇关于安卓微博4J整合获得评论实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆