본문 바로가기

개인공부

안드로이드 : 유튜브API연동 Youtube API

반응형

 

 

 

프로젝트 이름은 Youtube_API로 하겠습니다.

 

Empty Activity를 선택해줍니다.

 

 

 <uses-permission android:name="android.permission.INTERNET"></uses-permission>

 

 

API를 연동하기 위해서 xml파일에서 다음과같이 환경설정을 해줍니다

 

Google에 검색해주세요 "android youtube api"

 

 

 

 

관련 API를 download하도록 합니다.

 

파일의 압축을풀고 lib파일에 있는 YouTubeAndroidPlayerApi.jar 파일을 복사해줍니다.

 

안드로이드 스튜디오로 돌아와서 project에 app에 있는 libs(라이브러리)파일에 붙여넣기 해줍니다.

 

파일의 Project Structure에 들어가줍니다.

 

app모듈->Depndencles(종속관계)에 들어가서 +에 들어간뒤 파일을 하나 추가해주겟습니다.

 

libs에 있는 YouTubeAndroidPlayerApi.jar파일을 추가해줍니다.

이후 OK버튼을 눌러서 적용해줍니다.

 

https://console.developers.google.com

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

 

 

 

그럼 다음과 같은 화면을 볼수있습니다.

 

프로젝트를 클릭하시면 다음과 같은 화면을 볼수있습니다.

 

새프로젝트를 클릭한다음 다음과같이 만들어줍니다.

그럼 생성이될때까지 기다려줍니다.

 

생성이되면 사용자 인증 정보에 들어가서 사용자 인증 정보 만들기를 클릭한 후

API키를 선택합니다.

 

API키가 생성되면 이러한 api키를 확인해줍니다.

 

Gradle정보에 들어가주고 signinge Report를 더블크릭하면 밑에 정보가 뜨는데

SHA1의 값을 저장해줍니다.

 

다시 구글 개발자 콘솔에 들어가서 제한사항을 걸어주도록 하겠습니다.

 

패키지 이름 및 지문 추가를 클릭한다음 Android 앱을 선택

SHA-1은 아까 복사했던 정보값을 넣어줍니다.

 

패키지이름은 mainifesets 파일에있는 xml파일에서 package이름을 그대로 복사해서 넣어줍니다. 이후 저장을해서 적용시켜줍니다.

 

레이아웃 탭에서 view를 추가합니다. 이때 YouTubePlayerView를 선택해줍니다.

 

 

 

다음과 같은 설정으로 만들어줍니다.

 

 

package org.techtown.youtube_api;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;

public class MainActivity extends AppCompatActivity {

    YouTubePlayerView youtubeView;
    Button button;
    YouTubePlayer.OnInitializedListener listener;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.youtubeButton);
        youtubeView = (YouTubePlayerView) findViewById(R.id.youtubeView);
        listener = new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                youTubePlayer.loadVideo("SESuctdE9vM&t");
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

            }
        };

        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                youtubeView.initialize("AIzaSyDImlmmX6mnicXNlzed8TH1cn5YN62hBN0",listener);
            }
        });
    }
}

 

메인 엑티비티로 돌아와 다음과 같이 설정해줍니다

youTubePlayer.loadVideo("SESuctdE9vM&t");

loadVide에는 원하는 youtube 동영상의 아이디를 삽입합니다.

youtubeView.initialize("AIzaSyDImlmmX6mnicXNlzed8TH1cn5YN62hBN0",listener);

initialize에는 api key값을 입력합니다.

    YouTubePlayerView youtubeView;
    Button button;
    YouTubePlayer.OnInitializedListener listener;

 

youTubePlayerView라는 객체를 만들어서 유튜브를 볼수있도록 합니다.

Button 객체를 생성합니다.

이벤트 처리를 하기위해서 listener를 받아줍니다.

 

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

화면이 만들어젔을때의 이벤트 처리를 해줍니다.

button = (Button) findViewById(R.id.youtubeButton);
youtubeView = (YouTubePlayerView) findViewById(R.id.youtubeView);

레이아웃에 만들었던 View들을 맵핑 시킵니다.

 listener = new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                youTubePlayer.loadVideo("SESuctdE9vM&t");
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

            }
        };

 

listener에 대한 이벤트 처리를 해줍니다.

yotubeplayer를 비디오로 로드할수 있게해줍니다.

 

        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                youtubeView.initialize("AIzaSyDImlmmX6mnicXNlzed8TH1cn5YN62hBN0",listener);
            }
        });

 

버튼을 클릭했을때의 이벤트를 처리해줍니다.

 

에뮬레이터에는 유튜브 어플리케이션을 지원하지 않기때문에 실행이안되고 개인용 핸드폰을 이용해서 활용해보세요

 

 

 

반응형