Search code examples
youtube-apiandroid-youtube-api

Implementing java code for youtube-android api


I am building an android app that uses youtube API. I have figured the flow with youtube API but i don't know how start building it in java.I am completely new to using API's.Can anyone please provide a direction?


Solution

  • Please follow this approach. First you should try to download the Youtube player library for Android from the link below:

    Youtube Android Player

    You should first install it like this: Project -> menu: File > Structure > Dependencies Tab > Add -> library dependency

    if it doesn't work, please try one of these two:

    Add dependency of the library inside dependency inside build.gradle file of the library u r using, and paste ur library in External Libraries.

    OR

    Just Go to your libs folder inside app folder and paste all your .jar e.g Library files there Now the trick here is that now go inside settings.gradle file now add this line include ':app:libs' after include ':app' It will definitely work.

    Then, you should have a layout like this:

    <com.google.android.youtube.player.YouTubePlayerView
        android:id="@+id/player_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    

    And you can have a player activity like this:

    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();
                }
            });
        }
    
    }