Android Kotlin Fundamentals 03.1: Parça oluşturma

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.

  1. AndroidTrivia-Starter Android Studio projesini indirin.
  2. 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.


  3. 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.

  4. 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.
  5. Tasarım sekmesini tıklayın. activity_main.xml dosyasının Bileşen Ağacı, kök düzenini dikey LinearLayout 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:

  1. 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.
  2. Dosya > Yeni > Parça > Parça (Boş) seçeneğini belirleyin.
  3. 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.
  4. Son'u tıklayın.
  5. 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.
  6. onCreateView() içinde, setText ile başlayan satır dahil olmak üzere return 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).

  1. TitleFragment.kt öğesindeki onCreateView() yönteminde binding değişkeni (val binding) oluşturun.
  2. Parçanın görünümünü şişirmek için parçanın Binding nesnesindeki DataBindingUtil.inflate() yöntemini (FragmentTitleBinding) çağırın.

    Yönteme dört parametre iletin:
  • inflater, bağlama düzenini artırmak için kullanılan LayoutInflater 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çin container. (Bu parametre isteğe bağlıdır.)
  • attachToParent değeri için false.
  1. DataBindingUtil.inflate tarafından döndürülen bağlamayı binding değişkenine atayın.
  2. 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.

  1. 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.
  2. Mevcut LinearLayout öğesinin içine bir fragment öğesi ekleyin.
  3. Parçanın kimliğini titleFragment olarak ayarlayın.
  4. 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.
  5. 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>
  1. 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ştururken onCreate() 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: 3.2 Gezinme yollarını tanımlama

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.