Bu codelab, Android Kotlin Temelleri kursuna dahildir. Codelab'ler üzerinden sırayla çalışıyorsanız bu kurstan en iyi şekilde yararlanabilirsiniz. Tüm kurs codelab'leri Android Kotlin Fundamentals codelabs açılış sayfasında listelenmektedir.
Bu codelab'de parçalar hakkında bilgi edinir ve AndroidTrivia adlı bir başlangıç uygulamasında parça oluşturursunuz. Bir sonraki codelab'de, gezinme hakkında daha fazla bilgi edinecek ve AndroidTrivia uygulamasında başka çalışmalar yapabileceksiniz.
Bilmeniz gerekenler
- Kotlin ile ilgili temel bilgiler
- Kotlin'de temel Android uygulamaları oluşturma
- Düzenlerle çalışma
Neler öğreneceksiniz?
- Uygulamanıza statik olarak nasıl Parça ekleyebilirsiniz?
Yapacaklarınız
- Bir etkinliğin içinde parça oluşturun.
Bu dersi oluşturan üç codelab'de, AndroidTrivia adında bir uygulama üzerinde çalışıyorsunuz. Tamamlanan uygulama, kullanıcının Android kodlaması hakkında üç soru sorusunu yanıtladığı bir oyundur. Kullanıcı üç soruyu da doğru yanıtlarsa oyunu kazanır ve sonuçlarını paylaşabilir.
AndroidTrivia uygulamasında gezinme kalıpları ve denetimleri gösteriliyor. Uygulamanın birkaç bileşeni vardır:
- Yukarıdaki ekran görüntüsünde sol tarafta gösterilen başlık ekranında kullanıcı oyunu başlatır.
- Oyunun ortasında, yukarıdaki orta kısmında gösterilen kullanıcı, oyunu oynar ve yanıtlarını gönderir.
- Yukarıda gösterilen gezinme çekmecesi, uygulamanın yan tarafından kayarak başlığı içeren bir menü içerir.
çekmecesi simgesi, gezinme çekmecesini açar. Gezinme konsolu menüsü, Hakkında sayfasının ve oyun kurallarının bağlantısını içerir.
Uygulamanın üst kısmında, uygulama çubuğu olarak bilinen ve işlem çubuğu olarak da bilinen renkli bir görünüm görüntülenir.
Bu codelab'de, Trivia uygulamasını tamamlarken ihtiyaç duyacağınız şablon kodunu ve parça sınıflarını sağlayan bir başlangıç uygulamasından çalışıyorsunuz.
- AndroidTrivia-Starter Android Studio projesini indirin.
- Projeyi Android Studio'da açıp uygulamayı çalıştırın. Uygulama açıldığında, uygulama adını ve boş bir ekranı görüntülemek dışında bir şey yapmaz.
- Android Studio Proje bölmesinde, proje dosyalarını keşfetmek için Proje: Android görünümünü açın.
MainActivity
sınıfını ve parça sınıflarını görmek için app > java klasörünü açın. - res > scheme klasörünü açın ve activity_main.xml dosyasını çift tıklayın.
activity_main.xml
dosyası Düzen Düzenleyici'de görünür. - Tasarım sekmesini tıklayın.
activity_main.xml
dosyasının Bileşen Ağacı, kök düzenini dikeyLinearLayout
olarak gösterir.
Dikey doğrusal düzende düzendeki tüm alt görünümler dikey olarak hizalanır.
Parça, bir etkinlikteki kullanıcı arayüzünün bir bölümünü veya davranışını temsil eder. Çok bölmeli bir kullanıcı arayüzü oluşturmak için birden fazla parçayı tek bir etkinlikte birleştirebilirsiniz. Bir parçayı birden fazla etkinlikte yeniden kullanabilirsiniz.
Parçayı bir etkinliğin modüler bir bölümü olarak düşünebilirsiniz. Örneğin, diğer etkinliklerde de kullanabilirsiniz:
- Bir 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.
- Kotlin sınıfında bir parça tanımlanır.
- Bir parçanın kullanıcı arayüzü, bir XML düzen dosyasında tanımlanır.
AndroidTrivia uygulamasında bir ana etkinlik ve birkaç parça var. Parçalar ve düzen dosyalarının çoğu sizin için tanımlanmıştır. Bu görevde bir parça oluşturup uygulamanın ana etkinliğine eklersiniz.
1. Adım: 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, projeyi proje dosyalarına getirmek için Proje bölmesinde herhangi bir yeri tıklayın. Örneğin, com.example.android.navigasyon 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. Düzen XML'si oluştur, parça fabrika fabrikası yöntemlerini dahil et ve arayüz geri çağırmalarını dahil dahil tüm onay kutularının işaretini kaldırın.
- Son'u tıklayın.
- Henüz açılmadıysa
TitleFragment.kt
parça dosyasını açın.onCreateView()
yöntemini kullanır. Bu yöntem, bir parça 's yaşam döngüsü sırasında çağrılan yöntemlerden biridir. onCreateView()
içinde,setText
ile başlayan satır dahil olmak üzerereturn TextView(activity).apply
bölümünü kaldırın.onCreateView()
işlevi yalnızca aşağıdaki kodla bırakılır:
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
}
Bağlama nesnesi oluşturma
Parça şimdi derlenmez. Parçayı derlemek için bir bağlama nesnesi oluşturmanız ve parçanın görünümünü şişirmeniz gerekir (bu, setContentView()
için bir etkinliğe eşdeğerdir).
TitleFragment.kt
öğesindekionCreateView()
yöntemindebinding
değişkeni (val binding
) oluşturun.- Parçanın görünümünü şişirmek için parçanın
Binding
nesnesindekiDataBindingUtil.inflate()
yöntemini (FragmentTitleBinding
) çağırın.
Yönteme dört parametre iletin:
inflater
, bağlama düzenini artırmak için kullanılanLayoutInflater
değeridir.- Düzenin şişirileceği XML düzeni kaynağı. Sizin için tanımlı olan düzenlerden birini kullanın:
R.layout.fragment_title
. - Üst
ViewGroup
içincontainer
. (Bu parametre isteğe bağlıdır.) attachToParent
değeri içinfalse
.
DataBindingUtil.inflate
tarafından döndürülen bağlamayıbinding
değişkenine atayın.binding.root
yönteminden, şişirilmiş görünümü içeren yöntemi döndürün.onCreateView()
yönteminiz artık aşağıdaki kod gibi görünür:
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
, uygulamanın activity_main.xml
düzen dosyasına eklersiniz.
- res > scheme > activity_main.xml dosyasını açın ve düzen XML kodunu görüntülemek için Metin sekmesini tıklayın.
- Mevcut
LinearLayout
öğesinin içine birfragment
öğesi ekleyin. - Parçanın kimliğini
titleFragment
olarak ayarlayın. - Parça adının adını parça sınıfının tam yolu olarak ayarlayın. Bu örnekte
com.example.android.navigation.TitleFragment
kullanılmıştır. - Düzen genişliğini ve yüksekliğini
match_parent
olarak 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 eklendi.
Android Studio projesi: AndroidTriviaFragment
Bu codelab'de, AndroidTrivia uygulamasına bir parça eklediniz. Bu parçada, gelecek iki codelab'de üzerinde çalışmaya devam edeceksiniz.
- Parça, bir etkinliğin modüler bir bölümüdür.
- Bir parçanın kendi yaşam döngüsü vardır ve kendi giriş etkinliklerini alır.
- XML düzeni dosyasındaki parçanın düzenini tanımlamak için
<fragment>
etiketini kullanın. onCreateView()
içinde bir parçanın düzenini artırın.- Etkinlik çalışırken bir parça ekleyebilir veya kaldırabilirsiniz.
Udacity kursu:
Android geliştirici dokümanları:
Bu bölümde, bir eğitmen tarafından sunulan kurs kapsamında bu codelab üzerinden çalışan öğrenciler için olası ev ödevi ödevleri listelenmektedir. Öğretmenin şunları yapması gerekir:
- Gerekirse ev ödevini atayın.
- Öğrencilere ev ödevlerinin nasıl gönderileceğini bildirin.
- Ev ödevlerine not verin.
Öğretmenler bu önerileri istedikleri kadar kullanabilir veya uygun görebilir ve uygun olan diğer ev ödevlerini atayabilirler.
Bu codelab'de kendiniz çalışıyorsanız, bilginizi test etmek için bu ödevlerden yararlanabilirsiniz.
Bu soruları yanıtlayın
1. Soru
Parçalar ve etkinlikler arasındaki bazı farklar nelerdir? Doğru olan tüm ifadeleri seçin.
- Bir parça oluştururken
onCreateView()
yönteminde düzeni artırırsınız. Etkinlik oluştururkenonCreate()
içindeki düzeni artırırsınız. - Bir etkinliğin kendi düzeni vardır, ancak bir parçanın kendi düzeni olamaz.
- Bir etkinliğin kendi yaşam döngüsü vardır, ancak bir parça bundan ibarettir.
- Bir parçaya veya etkinliğe ilişkin düzeni artırırken düzeni
R.layout.
layoutname
olarak referans gösterebilirsiniz.
2. Soru
Parçalar hakkında aşağıdaki ifadelerden hangisi doğrudur? Geçerli olan tüm seçenekleri işaretleyin.
- Bir parçayı birden fazla etkinlikte kullanabilirsiniz.
- Bir etkinlikte birden fazla parça olabilir.
- Kotlin sınıfında bir parça tanımladıktan sonra parça
activity_main.xml
düzen dosyasına otomatik olarak eklenir. - Parçanın ekleneceği düzen dosyasında yeri tanımlamak için
<fragment>
etiketini kullanın.
Sonraki dersi başlatma:
Bu kurstaki diğer codelab'lerin bağlantılarına ulaşmak için Android Kotlin Fundamentals codelabs açılış sayfasına göz atın.