Bu codelab, Android Kotlin Hakkında Temel Bilgiler kursunun bir parçasıdır. Bu kurstan en iyi şekilde yararlanmak için codelab'leri sırayla tamamlamanızı öneririz. Kursla ilgili tüm codelab'ler Android Kotlin Hakkında Temel Bilgiler codelab'leri açılış sayfasında listelenir.
Bu codelab'de parçalar hakkında bilgi edinecek ve AndroidTrivia adlı başlangıç uygulamasında bir parça oluşturacaksınız. Bir sonraki codelab'de gezinme hakkında daha fazla bilgi edinecek ve AndroidTrivia uygulamasında daha fazla çalışma yapacaksınız.
Bilmeniz gerekenler
- Kotlin'in temelleri
- Kotlin'de temel Android uygulamaları oluşturma
- Düzenlerle çalışma
Neler öğreneceksiniz?
- Uygulamanıza statik olarak Fragment ekleme
Yapacaklarınız
- Bir etkinlik içinde parça oluşturun.
Bu dersi oluşturan üç codelab'de AndroidTrivia adlı bir uygulama üzerinde çalışacaksınız. Tamamlanan uygulama, kullanıcının Android kodlamayla ilgili üç bilgi yarışması sorusunu yanıtladığı bir oyundur. Kullanıcı üç soruyu da doğru yanıtlarsa oyunu kazanır ve sonuçlarını paylaşabilir.
|
|
|
AndroidTrivia uygulaması, gezinme kalıplarını ve kontrollerini gösterir. Uygulamanın çeşitli bileşenleri vardır:
- Yukarıdaki ekran görüntüsünde solda gösterilen başlık ekranında kullanıcı oyunu başlatır.
- Ortada yukarıda gösterilen sorulu oyun ekranında kullanıcı oyunu oynar ve cevaplarını gönderir.
- Sağ üstte gösterilen gezinme çekmecesi, uygulamanın kenarından kayarak açılır ve başlık içeren bir menü içerir. Çekmece simgesi
gezinme çekmecesini açar. Gezinme çekmecesi menüsünde Hakkında sayfasına ve oyun kurallarına ait bağlantılar bulunur.
Uygulamanın üst kısmında, işlem çubuğu olarak da bilinen uygulama çubuğu adlı renkli bir görünüm bulunur.
Bu codelab'de, Bilgi Yarışması uygulamasını tamamlarken ihtiyacınız olan şablon kodunu ve parça sınıflarını sağlayan bir başlangıç uygulamasından çalışacaksınız.
- AndroidTrivia-Starter Android Studio projesini indirin.
- Projeyi Android Studio'da açın ve uygulamayı çalıştırın. Uygulama açıldığında, uygulama adını ve boş bir ekran görüntülemek dışında hiçbir şey yapmaz.

- Proje dosyalarını incelemek için Android Studio Proje bölmesinde Proje: Android görünümünü açın.
MainActivitysınıfını ve parça sınıflarını görmek için app > java klasörünü açın.
- res > layout klasörünü açın ve activity_main.xml dosyasını çift tıklayın.
activity_main.xmldosyası, Düzen Düzenleyici'de görünür. - Tasarım sekmesini tıklayın.
activity_main.xmldosyası için Bileşen Ağacı, kök düzeni dikeyLinearLayoutolarak gösterir.
Dikey doğrusal düzende, düzendeki tüm alt görünümler dikey olarak hizalanır.
Parça, bir etkinlikteki davranışı veya kullanıcı arayüzünün (UI) bir bölümünü temsil eder. Çok panelli bir kullanıcı arayüzü oluşturmak için tek bir etkinlikte birden fazla parçayı birleştirebilir ve bir parçayı birden fazla etkinlikte yeniden kullanabilirsiniz.
Parçayı, bir etkinliğin modüler bölümü olarak düşünebilirsiniz. Bu, diğer etkinliklerde de kullanabileceğiniz bir "alt etkinlik" gibidir:
- Parçanın kendi yaşam döngüsü vardır ve kendi giriş etkinliklerini alır.
- Etkinlik çalışırken bir parça ekleyebilir veya kaldırabilirsiniz.
- Parça, Kotlin sınıfında tanımlanır.
- Bir parçanın kullanıcı arayüzü, XML düzen dosyasında tanımlanır.
AndroidTrivia uygulamasında bir ana etkinlik ve birkaç parça var. Çoğu parça ve bunların düzen dosyaları sizin için tanımlanmıştır. Bu görevde bir parça oluşturacak ve parçayı uygulamanın ana etkinliğine ekleyeceksiniz.
1. adım: Bir parça sınıfı ekleyin
Bu adımda boş bir TitleFragment sınıfı oluşturursunuz. Yeni bir parça için Kotlin sınıfı oluşturarak başlayın:
- Android Studio'da, odağı proje dosyalarına geri getirmek için Proje bölmesinin herhangi bir yerini tıklayın. Örneğin, com.example.android.navigation klasörünü tıklayın.
- Dosya > Yeni > Parça > Parça (Boş) seçeneğini belirleyin.
- Parça adı için TitleFragment'ı kullanın. Layout XML oluştur, parça fabrika yöntemlerini dahil et ve arayüz geri çağırmalarını dahil et dahil olmak üzere tüm onay kutularının işaretini kaldırın.
- Son'u tıklayın.
- Henüz açık değilse
TitleFragment.ktparça dosyasını açın. Bu yöntem,onCreateView()yöntemini içerir. Bu yöntem, bir parçanın yaşam döngüsü sırasında çağrılan yöntemlerden biridir. onCreateView()içinde,setTextile başlayan satır da dahil olmak üzerereturn TextView(activity).applybölümünü kaldırın.onCreateView()işlevinde yalnızca aşağıdaki kod kalır:
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
}Bağlama nesnesi oluşturma
Parça şu anda derlenmeyecek. Parçanın derlenmesi için bir bağlama nesnesi oluşturmanız ve parçanın görünümünü genişletmeniz gerekir (bu, bir etkinlik için setContentView() kullanmaya eşdeğerdir).
onCreateView()yöntemindeTitleFragment.kt,bindingdeğişkeni oluşturun (val binding).- Parçanın görünümünü genişletmek için parçanın
BindingnesnesindeDataBindingUtil.inflate()yöntemini çağırın. Bu nesneFragmentTitleBinding'dir.
Yönteme dört parametre iletin:
inflater, bağlama düzenini genişletmek için kullanılanLayoutInflater'dir.- Şişirilecek düzenin XML düzen kaynağı. Sizin için önceden tanımlanmış düzenlerden birini kullanın (
R.layout.fragment_title). containerüst öğesi içinViewGroup. (Bu parametre isteğe bağlıdır.)falsedeğeri içinattachToParent.
DataBindingUtil.inflatetarafından döndürülen bağlamayıbindingdeğişkenine atayın.- Şişirilmiş görünümü içeren yöntemden
binding.rootdöndürülür.onCreateView()yönteminiz artık aşağıdaki koda benziyor:
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val binding = DataBindingUtil.inflate<FragmentTitleBinding>(inflater,
R.layout.fragment_title,container,false)
return binding.root
}2. adım: Yeni parçayı ana düzen dosyasına ekleyin
Bu adımda, TitleFragment öğesini uygulamanın activity_main.xml düzen dosyasına eklersiniz.
- res > layout > activity_main.xml dosyasını açın ve düzen XML kodunu görüntülemek için Text (Metin) sekmesini tıklayın.
- Mevcut
LinearLayoutöğesinin içine birfragmentöğesi ekleyin. - Parçanın kimliğini
titleFragmentolarak ayarlayın. - Parçanın adını, parça sınıfının tam yolu olarak ayarlayın. Bu örnekte tam yol
com.example.android.navigation.TitleFragment'dır. - Düzen genişliğini ve yüksekliğini
match_parentolarak ayarlayın.
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/titleFragment"
android:name="com.example.android.navigation.TitleFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
</layout>- Uygulamayı çalıştırın. Parça, ana ekranınıza eklenir.

Android Studio projesi: AndroidTriviaFragment
Bu codelab'de, AndroidTrivia uygulamasına bir parça eklediniz. Bu uygulamayı, bu dersteki sonraki iki codelab'de de kullanmaya devam edeceksiniz.
- Parça, bir etkinliğin modüler bölümüdür.
- Parçanın kendi yaşam döngüsü vardır ve kendi giriş etkinliklerini alır.
- XML düzen dosyasındaki parçanın düzenini tanımlamak için
<fragment>etiketini kullanın. onCreateView()içindeki bir parça için düzeni genişletin.- Etkinlik çalışırken bir parça ekleyebilir veya kaldırabilirsiniz.
Udacity kursu:
Android geliştirici belgeleri:
Bu bölümde, bir eğitmenin yönettiği kurs kapsamında bu codelab'i tamamlayan öğrenciler için olası ödevler listelenmektedir. Eğitmen, aşağıdakileri yapmalıdır:
- Gerekirse ödev atayın.
- Öğrencilere ev ödevi ödevlerini nasıl göndereceklerini bildirin.
- Ödevlere not verin.
Eğitmenler bu önerileri istedikleri kadar kullanabilir ve uygun olduğunu düşündükleri diğer ödevleri verebilirler.
Bu codelab'i kendi başınıza tamamlıyorsanız bilginizi test etmek için bu ödevleri kullanabilirsiniz.
Bu soruları yanıtlayın
1. Soru
Parçalar ve etkinlikler arasındaki farklar nelerdir? Doğru olan tüm ifadeleri seçin.
- Parça oluştururken
onCreateView()yönteminde düzeni genişletirsiniz. Bir etkinlik oluştururken düzenionCreate()içinde genişletirsiniz. - Etkinliklerin kendi düzenleri vardır ancak parçaların kendi düzenleri olamaz.
- Etkinliklerin kendi yaşam döngüsü vardır ancak parçaların yoktur.
- Bir parça veya etkinlik için düzeni genişletirken düzene
R.layout.layoutnameolarak başvurabilirsiniz.
2. Soru
Aşağıdaki ifadelerden hangisi parçacıklar hakkında doğrudur? Uygun olan tüm seçenekleri işaretleyin.
- Bir parçayı birden fazla etkinlikte kullanabilirsiniz.
- Bir etkinlikte birden fazla parça olabilir.
- Bir Kotlin sınıfında bir parça tanımladığınızda bu parça otomatik olarak
activity_main.xmldüzen dosyasına eklenir. - Bir düzen dosyasında parçanın ekleneceği yeri tanımlamak için
<fragment>etiketini kullanın.
Sonraki derse başlayın:
Bu kurstaki diğer codelab'lerin bağlantılarını Android Kotlin Hakkında Temel Bilgiler codelab'leri açılış sayfasında bulabilirsiniz.


