【发布时间】:2014-11-27 15:40:35
【问题描述】:
我正在构建一个使用 youtube API 的 android 应用程序。我已经了解了 youtube API 的流程,但我不知道如何开始在 java 中构建它。我对使用 API 完全陌生。有人可以提供一个方向吗?
【问题讨论】:
标签: youtube-api android-youtube-api
我正在构建一个使用 youtube API 的 android 应用程序。我已经了解了 youtube API 的流程,但我不知道如何开始在 java 中构建它。我对使用 API 完全陌生。有人可以提供一个方向吗?
【问题讨论】:
标签: youtube-api android-youtube-api
请遵循此方法。首先,您应该尝试从以下链接下载适用于 Android 的 Youtube 播放器库:
你应该首先像这样安装它:项目->菜单:文件>结构>依赖选项卡>添加->库依赖
如果不起作用,请尝试以下两种方法之一:
在你使用的库的 build.gradle 文件中添加库的依赖,并将你的库粘贴到外部库中。
或
只需转到 app 文件夹中的 libs 文件夹,然后将所有 .jar 例如库文件粘贴到那里 现在这里的技巧是现在进入 settings.gradle 文件现在在 include '之后添加这一行 include ':app:libs':应用程序'它肯定会工作。
那么,你应该有这样的布局:
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/player_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
你可以有这样的玩家活动:
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
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.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.youtube.YouTube;
import java.io.IOException;
public class YoutubeActivity extends YouTubeBaseActivity{
private YouTubePlayerView playerView;
private YouTube youtube;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_youtube);
youtube = new YouTube.Builder(new NetHttpTransport(),
new JacksonFactory(), new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest hr) throws IOException {}
}).setApplicationName(this.getString(R.string.app_name)).build();
playerView = (YouTubePlayerView)findViewById(R.id.player_view);
playerView.initialize("Your API Key", new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
if(!b){
String videoId = getIntent().getExtras().getString("videoID");
youTubePlayer.cueVideo(videoId);
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(getApplicationContext(), getString(R.string.failed), Toast.LENGTH_LONG).show();
}
});
}
}
【讨论】: