Java sınıfı veya türü oluşturma

Android Studio, Yeni Sınıf Oluştur iletişim kutusu ve dosya şablonlarıyla aşağıdaki yeni sınıfları ve türleri hızlıca oluşturmanıza yardımcı olur:

  • Java sınıfları
  • Numaralandırma ve singleton sınıfları
  • Arayüz ve açıklama türleri

Yeni Sınıf Oluştur iletişim kutusundaki alanları doldurup Tamam'ı tıkladıktan sonra Android Studio, paket ifadesi, gerekli içe aktarmalar, başlık ve sınıf ya da tür bildirimi dahil olmak üzere iskelet kodu içeren bir .java dosyası oluşturur. Ardından, kodunuzu bu dosyaya ekleyebilirsiniz.

Dosya şablonları, Android Studio'nun iskelet kodunu nasıl oluşturacağını belirtir. Android Studio ile birlikte verilen dosya şablonlarını olduğu gibi kullanabilir veya geliştirme sürecinize uyacak şekilde özelleştirebilirsiniz.

Dosya şablonlarını görüntüleme ve özelleştirme

Android Studio, Yeni Sınıf Oluştur iletişim kutusuyla yeni Java sınıflarının ve türlerinin nasıl oluşturulacağını belirleyen dosya şablonları sağlar. Bu şablonları özelleştirebilirsiniz.

Yeni sınıf oluşturma iletişim kutusu.

Şekil 1. Yeni Sınıf Oluştur iletişim kutusu.

Android Studio dosya şablonları, Velocity Template Language (VTL) kodu ve bu ek seçenekleri işleyen değişkenleri içerir. Yeni Sınıf Oluştur iletişim kutusunda AnnotationType, Class, Enum, Interface ve Singleton dosya şablonları kullanılır.

Şablonları görüntülemek, özelleştirmeleri bulmak ve şablonları değiştirmek için aşağıdaki adımları uygulayın:

  1. Aşağıdakilerden birini yapın:

    • Windows veya Linux için Dosya > Ayarlar > Düzenleyici > Dosya ve Kod Şablonları > Dosyalar'ı seçin.
    • macOS'te Android Studio > Preferences > Editor > File and Code Templates > Files'ı (Android Studio > Tercihler > Düzenleyici > Dosya ve Kod Şablonları > Dosyalar) seçin.

    Şablon listesinde, dahili şablon adları kalın yazı tipiyle gösterilir. Özelleştirilmiş şablon adları, mavi gibi bir vurgu renginde gösterilir.

  2. Dosya şablonlarını gerektiği gibi özelleştirin.

    Yeni Sınıf Oluştur iletişim kutusu alanlarını kullanmak istiyorsanız değişikliklerinizin Android Studio dosya şablonu kodu ile uyumlu olduğundan emin olun.

VTL dahil olmak üzere dosya şablonları hakkında daha fazla bilgi için Dosya ve Kod Şablonları ile Dosya ve Kod Şablonları İletişim Kutusu başlıklı makaleleri inceleyin.

Java sınıfı veya türü oluşturma

Android Studio, dosya şablonlarına dayalı olarak yeni Java sınıfları, numaralandırma ve tekil sınıflar, arayüz ve ek açıklama türleri oluşturmanıza yardımcı olur.

Yeni bir Java sınıfı veya türü oluşturmak için aşağıdaki adımları uygulayın:

  1. Proje penceresinde bir Java dosyasını veya klasörünü sağ tıklayın ve Yeni > Java Sınıfı'nı seçin.
  2. Alternatif olarak, Project (Proje) penceresinde bir Java dosyası veya klasörü seçin ya da Kod Düzenleyici'de bir Java dosyasını tıklayın. Ardından File (Dosya) > New (Yeni) > Java Class'ı (Java Sınıfı) seçin.

    Seçtiğiniz öğe, yeni sınıf veya tür için varsayılan paketi belirler.

  3. Yeni Sınıf Oluştur iletişim kutusunda alanları doldurun:
    • Ad: Yeni sınıfın veya türün adı. Java adlandırma koşullarına uymalıdır. Dosya adı uzantısı yazmayın.
    • Tür: Sınıf veya tür kategorisini seçin.
    • Üst sınıf: Yeni sınıfınızın devraldığı sınıf. Paket ve sınıf adını veya yalnızca sınıf adını yazabilir, ardından açılır listedeki bir öğeyi çift tıklayarak otomatik olarak tamamlayabilirsiniz.
    • Arayüzler: Yeni sınıfın veya türün uyguladığı bir veya daha fazla arayüz. Birden fazla arayüz varsa aralarına virgül koyup isteğe bağlı olarak boşluk bırakın. Paket ve arayüz adını veya yalnızca arayüz adını yazabilir, ardından açılır listedeki bir öğeyi çift tıklayarak otomatik olarak tamamlayabilirsiniz.
    • Otomatik tamamlama yalnızca ilk arayüz adı için çalışır. Virgül ve sonraki arayüz adının, ipucu hatasına neden olabileceğini ancak oluşturulan kodu etkilemediği için bu hatayı yoksayabileceğinizi unutmayın.

    • Paket: Sınıfın veya türün içinde yer alacağı paket. Varsayılan değer, alanda otomatik olarak görünür. Alana bir paket adı yazarsanız paket tanımlayıcısının mevcut olmayan kısımları kırmızı renkte vurgulanır. Bu durumda, Tamam'ı tıkladıktan sonra Android Studio paketi oluşturur. Bu alan bir değer içermelidir. Aksi takdirde Java dosyasında package ifadesi yer almaz ve sınıf veya tür, projedeki bir pakete yerleştirilmez.
    • Varsayılan değer, Yeni Sınıf Oluştur iletişim kutusunu nasıl başlattığınıza bağlıdır. Proje penceresinde önce bir Java dosyası veya klasörü seçtiyseniz varsayılan olarak seçtiğiniz öğenin paketi kullanılır. Önce kod düzenleyicide bir Java dosyasını tıkladıysanız varsayılan olarak bu dosyayı içeren paket seçilir.

    • Görünürlük: Sınıfın veya türün tüm sınıflara mı yoksa yalnızca kendi paketindeki sınıflara mı görünür olacağını seçin.
    • Değiştiriciler: Sınıf için Abstract (Soyut) veya Final (Son) değiştiricisini ya da ikisini de seçmeyin.
    • Show Select Overrides Dialog (Geçersiz kılma iletişim kutusunu göster) - Kind (Tür) Class (Sınıf) için OK (Tamam) düğmesini tıkladıktan sonra Select Methods to Override/Implement (Geçersiz kılınacak/uygulanacak yöntemleri seç) iletişim kutusunu açmak için bu seçeneği işaretleyin. Bu iletişim kutusunda, geçersiz kılmak veya uygulamak istediğiniz yöntemleri seçebilirsiniz. Android Studio, bu yöntemler için iskelet kodu oluşturur.

    Tür için geçerli olmayan tüm alanlar gizlenir.

  4. Tamam'ı tıklayın.
  5. Android Studio, değiştirebileceğiniz iskelet kod içeren bir Java dosyası oluşturur. Dosya, kod düzenleyicide açılır.

Not: Dosya > Yeni > Singleton veya Dosya > Yeni > Java Sınıfı'nı seçerek tekil sınıf oluşturabilirsiniz. İkinci yöntem daha fazla seçenek sunar.

Android Studio dosya şablonları

Bu bölümde, VTL komut dosyası dilinde yazılmış Android Studio dosya şablonu kodu ve ardından değişkenlerin tanımları listelenmektedir. Yeni Sınıf Oluştur iletişim kutusunda sağladığınız değerler, şablondaki değişken değerleri olur. #if (${VISIBILITY} ile başlayan satırların açık küme parantezine ( { ) kadar uzandığını unutmayın.

AnnotationType dosya şablonu

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end @interface ${NAME} #if (${INTERFACES} != "")extends ${INTERFACES} #end {
}

Sınıf dosyası şablonu

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end #if (${ABSTRACT} == "TRUE")abstract #end #if (${FINAL} == "TRUE")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

Numaralandırılmış değer dosyası şablonu

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

Arayüz dosyası şablonu

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
#end {
}

Singleton dosya şablonu

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
    private static final ${NAME} ourInstance = new ${NAME}();

    #if (${VISIBILITY} == "PUBLIC")public #end static ${NAME} getInstance() {
        return ourInstance;
    }

    private ${NAME}() {
    }
}

Dosya şablonu değişkenleri

Android Studio, dosya şablonu değişkenlerini oluşturulan Java dosyasındaki değerlerle değiştirir. Değerleri Yeni Sınıf Oluştur iletişim kutusuna girersiniz. Şablonda kullanabileceğiniz aşağıdaki değişkenler bulunur:

  • IMPORT_BLOCK - Herhangi bir üst sınıfı veya arayüzü desteklemek için gerekli olan Javaimport ifadelerinin yeni satırla ayrılmış listesi ya da boş dize (""). Örneğin, yalnızca Runnable arayüzünü uygulayıp hiçbir şeyi genişletmezseniz bu değişken "import java.lang.Runnable;\n" olur. Runnable arayüzünü uygulayıp Activity sınıfını genişletirseniz "import android.app.Activity;\nimportjava.lang.Runnable;\n" olur.
  • VISIBILITY - Sınıfa herkese açık erişim olup olmayacağı. PUBLIC veya PACKAGE_PRIVATE değerini alabilir.
  • SUPERCLASS - Tek bir sınıf adı veya boş. Varsa yeni sınıf adından sonra extends ${SUPERCLASS} ifadesi yer alır.
  • INTERFACES: Virgülle ayrılmış arayüz listesi veya boş. Varsa üst sınıftan sonra veya üst sınıf yoksa sınıf adından sonra implements ${INTERFACES} tümcesi yer alır. Arayüzler ve açıklama türleri için arayüzlerde extends anahtar kelimesi bulunur.
  • ABSTRACT: Sınıfın soyut olup olmayacağı. TRUE veya FALSE değerini alabilir.
  • FINAL: Sınıfın nihai olup olmayacağı. TRUE veya FALSE değeri alabilir.