通过单击 Android Studio 中的按钮在 webview 中获取随机 Youtube 视频

Posted

技术标签:

【中文标题】通过单击 Android Studio 中的按钮在 webview 中获取随机 Youtube 视频【英文标题】:Get random Youtube video in webview by clicking button in Android studio 【发布时间】:2020-09-11 05:41:52 【问题描述】:

我想制作一个应用程序,用户可以通过单击按钮在 web 视图中获取随机 youtube 视频。 我已经可以在我的网页视图中显示带有 url 的视频,但我想通过单击我的按钮从 youtube 获取任何随机视频。

在我的 xml 文件中,我有一个 webview 和一个按钮

´´´

MainActivity.java

''' 公共类 MainActivity 扩展 AppCompatActivity

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String path = "https://www.youtube.com/watch?v=1uwvxTT5V5M";
    String dataUrl =
           "<html><body>Video From YouTube<br><iframe width=\"420\" height=\"315\" src=\"https://www.youtube.com/embed/47yJ2XCRLZs\" frameborder=\"0\" allowfullscreen></iframe></body></html>";


    WebView showYoutubeVideo = (WebView) findViewById(R.id.zufallvideo);
    showYoutubeVideo.setWebViewClient(new WebViewClient()

        public boolean shouldoverloadUrlLoading(WebView view, String url) 
            return false;
        
    );

    showYoutubeVideo.getSettings().setjavascriptEnabled(true);
    showYoutubeVideo.loadData(dataUrl,"text/html", "utf-8");


【问题讨论】:

您要么需要创建自己的 API,要么搜索这些类型的 API,从这些 API 中获取视频 URL ... 【参考方案1】:

TL;DR:这很复杂。

在 Youtube 在其 API 中公开一个端点来执行此操作之前,您需要找到一种解决方法。

有些人会建议使用“IMG”后跟一个随机整数(例如“IMG 22930”)来查询搜索。最终结果非常令人惊讶,因为大量视频是在没有重命名的情况下上传的。

这是在 python 中实现此变通方法的示例:https://github.com/0x01h/random-youtube-video-generator

【讨论】:

以上是关于通过单击 Android Studio 中的按钮在 webview 中获取随机 Youtube 视频的主要内容,如果未能解决你的问题,请参考以下文章

在单击按钮时将数据插入 Android Studio 中的 SQlite 数据库

单击Android Studio中的提交按钮后,如何将输入的值存储到变量并在屏幕上显示?

如何在单击按钮的 Android Studio 上发送邮件?

在android studio中单击按钮时无法查看当前坐标

Android Studio:单击按钮时一一更新多个按钮的背景

android studio 中的单选按钮