【问题标题】:How to show Twitter videos in android native page如何在 android 本机页面中显示 Twitter 视频
【发布时间】:2016-03-01 10:23:44
【问题描述】:

我在我的native 页面中显示Html contents。我正在展示Tweets,使用TweeetUi。但是,TweeetUi 不显示twitter videos。我还检查了我们收到的回复。作为回应,我找不到video url。在谷歌搜索之后,我发现嵌入式视频支持仅适用于网站。是否有任何解决方法可以在原生页面中显示视频,如 tweets 或获取 video url,以便可以使用 custom UI 显示视频。

谢谢

【问题讨论】:

  • 用户 TwiteCore 用于显示 tweet 视频
  • @DhruvRaval,我正在使用 TwitterKit,根据 Twiiter 开发者网站,(docs.fabric.io/android/twitter/show-tweets.html) 只显示推文。如何显示推特视频。有教程吗?
  • 不,没有教程,但我给出了获取 twitter 视频的过程(代码),该过程基于某些条件,与包含图像或视频的提要完全不同...

标签: android video twitter embed


【解决方案1】:
TwitterCore.getInstance().getApiClient().getStatusesService().userTimeline(null, twitterKeyword, 10, null, maxId, null, null, null, false, new Callback<List<Tweet>>() {

            @Override
            public void success(Result<List<Tweet>> result) {

                final List<Tweet> tweets = result.data;

                if(!tweets.isEmpty()) {

                        for (int i = 0; i < tweets.size(); i++) {

                        Tweet t = tweets.get(i);

                        Long idStr = Long.parseLong(t.idStr);
                        String text = t.text;
                        String createdAt = t.createdAt;
                        String favoriteCount = "" + t.favoriteCount;
                        String favorited = "" + t.favorited;
                        String retweetCount = "" + t.retweetCount;
                        String retweeted = "" + t.retweeted;
                        String retweetedStatus = "" + t.retweetedStatus;
                        String name = t.user.name;
                        String profileImageUrl = t.user.profileImageUrl;

                        String mediaImageUrl = null, videoUrl = null;

                        if (t.entities.media != null) {
                            String type = t.entities.media.get(0).type;

                            if (type.equals("photo")) {
                                if(t.entities.media.size() > 0) {
                                    if (t.entities.media.get(0).expandedUrl != null) {
                                        if ((t.entities.media.get(0).expandedUrl).contains("video")) {
                                            videoUrl = t.entities.media.get(0).expandedUrl;
                                            mediaImageUrl = t.entities.media.get(0).mediaUrl;
                                        }
                                        else {
                                            mediaImageUrl = t.entities.media.get(0).mediaUrl;
                                        }
                                    }
                                }
                                else {
                                    mediaImageUrl = "'";
                                    videoUrl = "";
                                }
                            }
                            else {
                                mediaImageUrl = "'";
                            }
                        }
                        else {
                            if(t.entities.urls.size() > 0) {

                                if(t.entities.urls.get(0).url != null) {
                                    if(text.contains(t.entities.urls.get(0).url)) {
                                        videoUrl = "";
                                        mediaImageUrl="";
                                    }
                                }
                                else {
                                    if (t.entities.urls.get(0).expandedUrl != null) {
                                        videoUrl = t.entities.urls.get(0).expandedUrl;
                                    }
                                    else {
                                        videoUrl = "";
                                    }
                                }
                            }
                            else {
                                videoUrl = "";
                                mediaImageUrl="";
                            }
                        }

                        System.out.println("mediaImageUrl" + mediaImageUrl);
                        System.out.println("videoUrl" + videoUrl);              
                }

            @Override
            public void failure(TwitterException e) {
                System.out.println("failure"+ e);
                e.printStackTrace();
            }
        });

这里,TwitterCore --> com.twitter.sdk.android.core.TwitterCore

【讨论】:

  • 这需要一个会话..用户需要登录。我需要显示推文视频,无需登录,如推文
  • 哦.. 是的,这些需要登录 twitter,但我知道这些方式只是为了获取 twitter 视频......!!
猜你喜欢
  • 2017-05-24
  • 2016-08-01
  • 2022-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
相关资源
最近更新 更多