首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Android Studio添加YouTube数据接口

向Android Studio添加YouTube数据接口
EN

Stack Overflow用户
提问于 2013-08-12 02:42:56
回答 2查看 36.1K关注 0票数 23

所以,我现在利用空闲时间忙于android编程,并且我选择使用android studio作为我的ide。我目前正在尝试使用youtube api创建一个非常简单的应用程序。我的问题是,我无法弄清楚如何将api实际应用到我的应用程序中。我已经使用file>project structure将这些东西添加到我的应用程序中,但这本身并不起作用。它不再对我大喊语法错误,但当它编译错误的时候。

我对此做了一点研究,发现我需要向build.gradle或settings.gradle(或两者都)添加一些东西,但我还没有找到确切的答案。到目前为止,我所尝试的一切都没有奏效。因此,如果有人可以向我解释我必须做什么,或者将我链接到一个解释该做什么的地方,那就太好了

-编辑--

我现在很困惑。我开始了一个新的项目。我添加了库,但它仍然能够编译。然后我添加了导入,它抛出了相关的错误。然后,我将这些代码添加到build.gradle中,它可以完美地编译

代码语言:javascript
复制
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')

但是当我添加这个需要这个库的代码时

代码语言:javascript
复制
/** Global instance of the HTTP transport. */
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();

/** Global instance of the JSON factory. */
private static final JsonFactory JSON_FACTORY = new JacksonFactory();

/** Global instance of Youtube object to make all API requests. */
private static YouTube youtube;

语法很好,但是在编译时抛出了一个错误

代码语言:javascript
复制
 Gradle: Execution failed for task ':Apitest:dexDebug'.
> Failed to run command:

然后是大约100行的文件位置

你知道我做错了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2014-10-16 00:21:01

只需在gradle文件中添加此依赖项:

代码语言:javascript
复制
compile 'com.google.apis:google-api-services-youtube:v3-rev181-1.22.0'

并使用YouTube对象。

参考:https://developers.google.com/api-client-library/java/apis/youtube/v3

票数 42
EN

Stack Overflow用户

发布于 2016-11-03 18:19:48

第1步:从https://developers.google.com/youtube/android/player/downloads/下载YoutubeAndroidPlayerApi.jar

步骤2:粘贴到工程app文件夹下的libs文件夹中

Step3:在工程app文件夹的build.gradle中添加以下行:

代码语言:javascript
复制
compile files('libs/YouTubeAndroidPlayerApi.jar')

步骤4:将以下导入添加到扩展YouTubeBaseActivity并实现YouTubePlayer.OnInitializedListener的活动中

代码语言:javascript
复制
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
import com.google.android.youtube.player.YouTubePlayer.Provider;

第5步:OnCreate方法内部:

代码语言:javascript
复制
//Make sure you initialize youtube player

YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);

youTubeView.initialize(YoutubeAPIKey, this);

当你在网络模式下注册你的项目后,你会从谷歌控制台得到YouTubeAPIKey,不要选择像Android这样的移动域名

步骤6:重写接口中的方法,实现方式如下:

代码语言:javascript
复制
@Override
public void onInitializationFailure(Provider arg0,
        YouTubeInitializationResult error) {
    // TODO Auto-generated method stub
    Toast.makeText(this, "Oh no!      
    "+error.toString(),Toast.LENGTH_LONG).show();

}

@Override
public void onInitializationSuccess(Provider arg0, YouTubePlayer player,
        boolean arg2) {
    // TODO Auto-generated method stub
    player.loadVideo(VIDEO_ID);
}

其中VIDEO_ID是从对Youtube API的RESTful调用中获取的:"https://www.googleapis.com/youtube/v3/search“,带有适当的参数,如GET、"q,relevanceLanguage,type,key”等。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18175397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档