所以,我现在利用空闲时间忙于android编程,并且我选择使用android studio作为我的ide。我目前正在尝试使用youtube api创建一个非常简单的应用程序。我的问题是,我无法弄清楚如何将api实际应用到我的应用程序中。我已经使用file>project structure将这些东西添加到我的应用程序中,但这本身并不起作用。它不再对我大喊语法错误,但当它编译错误的时候。
我对此做了一点研究,发现我需要向build.gradle或settings.gradle(或两者都)添加一些东西,但我还没有找到确切的答案。到目前为止,我所尝试的一切都没有奏效。因此,如果有人可以向我解释我必须做什么,或者将我链接到一个解释该做什么的地方,那就太好了
-编辑--
我现在很困惑。我开始了一个新的项目。我添加了库,但它仍然能够编译。然后我添加了导入,它抛出了相关的错误。然后,我将这些代码添加到build.gradle中,它可以完美地编译
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')但是当我添加这个需要这个库的代码时
/** 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;语法很好,但是在编译时抛出了一个错误
Gradle: Execution failed for task ':Apitest:dexDebug'.
> Failed to run command:然后是大约100行的文件位置
你知道我做错了什么吗?
发布于 2014-10-16 00:21:01
只需在gradle文件中添加此依赖项:
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
发布于 2016-11-03 18:19:48
第1步:从https://developers.google.com/youtube/android/player/downloads/下载YoutubeAndroidPlayerApi.jar
步骤2:粘贴到工程app文件夹下的libs文件夹中
Step3:在工程app文件夹的build.gradle中添加以下行:
compile files('libs/YouTubeAndroidPlayerApi.jar')步骤4:将以下导入添加到扩展YouTubeBaseActivity并实现YouTubePlayer.OnInitializedListener的活动中
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方法内部:
//Make sure you initialize youtube player
YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youTubeView.initialize(YoutubeAPIKey, this);当你在网络模式下注册你的项目后,你会从谷歌控制台得到YouTubeAPIKey,不要选择像Android这样的移动域名
步骤6:重写接口中的方法,实现方式如下:
@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”等。
https://stackoverflow.com/questions/18175397
复制相似问题