Merhaba Arkadaşlar,
Bir önceki yazımda Youtube Api Key almayı yazmıştım. Eğer Key’iniz yoksa buradan faydalanabilirsiniz. Bu yazı da ise aldığımız Key’i basit bir örnek ile kullanmayı göstereceğim. Örneğimizde butona tıkladığımızda çektiğimiz videoyu aynı sayfada çağıracağız. Haydi o zaman başlayalım.
- Adım: Bir Empty Activity kullanarak projemizi oluşturuyoruz.
2. Adım: activity_main.xml deki ConstraintLayout’ları LinearLayout veya RelativeLayout olarak değiştiriyoruz. Ben RelativeLayoutyapıcam. Default olarak gelen TextView’i siliyoruz. Onun yerine bir Button oluşturuyoruz.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btnPlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@color/colorPrimaryDark"
android:text="play video"
android:textColor="#FFF" />
</RelativeLayout>
3. Adım: Bu adımda burdan Youtube Android Player API’yi indiriyoruz.
4. Adım İndirdiğimiz dosya zipli bir dosya masa üstüne yeni bir dosya içinde çıkarıyoruz. İçerisinde docs, libs, sample ve README adında 4 tane dosya olacak. Bizim için şimdilik önemli olan dosya libs dosyası.
5. Adım: libs dosyasını açıp içinde sadece bir dosya var. YouTubeAndroidPlayerApi.jar dosyasını kopyalıyoruz ve Android Studio’muza geri dönüyoruz.
6. Adım: Android studio’muzda dosya dizaynı genelde Adroid olarak gösterilir. Biz bunu Project’e çevireceğiz böylece android Studio’nun içerisinde var olan libs package’ını kolay bir şekilde görebiliriz. Arkadaşlar Project olası gerektiğini unutmayalım yoksa libs package’ını aramak için fazla zaman harcayabiliriz.
8. Adım: Eğer libs package’ımız yoksa yeni bir tane packege açıp (app>new>Directory) directory ismini libs koyup işlemimize devam edebiliriz. Sizin libs packege’nız varsa bu adımı atlayınız.
9.Adım: libs’in içerisine yapıştırdığımız YouTubeAndroidPlayerApi.jar dosyasını dependencies dosyasına ekleyeceğiz fakat el ile eklemek bize hata verecektir bu yüzden şu yolu deniycez. libs’in içerisine yapıştırdığımız .jar uzantılı dosyaya sağ tıklıyoruz ve Add as Library.. ‘ye tıklıyoruz. ve karşımıza çıkan Create Library’ye Ok diyoruz.
10. Adım: Artık kütüphanemiz de tanımlandı. Şimdi activity_main.xml’imize geri dönüp YoutubePlayerView ekliyoruz. Sadece koyu olan alanı ekliyoruz projemize.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubePlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"></com.google.android.youtube.player.YouTubePlayerView>
<Button
android:id="@+id/btnPlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@color/colorPrimaryDark"
android:text="play video"
android:textColor="#FFF" />
</RelativeLayout>
11. Adım: Şimdi de MainActivity sayfamızın kodlarını yazalım. Önemli bir kısım var onu atlamamız gerekiyor MainActivity classımızı YouTubeBaseActivity’den extend etmemiz gerekiyor.(unutursak proje patlar!)
class MainActivity : YouTubeBaseActivity() {
companion object {
val VIDEO_ID: String = "RgKKgzVhMgY"
val YOUTUBE_API_KEY: String = "oluşturduğumuz YOUTUBEAPIKEY"
}
lateinit var youtubePlayerInit: YouTubePlayer.OnInitializedListener
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initUI()
}
private fun initUI() {
youtubePlayerInit = object : YouTubePlayer.OnInitializedListener {
override fun onInitializationSuccess(p0: YouTubePlayer.Provider?, youtubePlayer: YouTubePlayer?, p2: Boolean) {
//kod hatasız olursa onInitializationSuccess implament metodu çalışacak
youtubePlayer?.loadVideo(VIDEO_ID)
}
override fun onInitializationFailure(p0: YouTubePlayer.Provider?, p1: YouTubeInitializationResult?) {
//Eğer hatalı olursa da onInitializationFailure bu implament metodu çalışacak
Toast.makeText(applicationContext, "yolunda gitmeyen bir şeyler var!", Toast.LENGTH_LONG).show()
}
}
btnPlay.setOnClickListener {
youtubePlayer.initialize(YOUTUBE_API_KEY, youtubePlayerInit)
}
}
}
12. Adım son olarak da internet erişim izni vermemiz gerekiyor bunu da AndroidManifest.xml sayfasında yapıyoruz.
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
İnternet iznimizi de verdiğimize göre artık kendi Youtube’umuzdan istediğimiz şarkıyı dinleyebiliriz.
Bug’sız günler :)