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 tekil sınıflar
  • Arayüz ve notasyon türleri

Yeni Sınıf Oluştur iletişim kutusundaki alanları doldurup Tamam'ı tıkladıktan sonra Android Studio, paket ifadesi, gerekli tüm 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 kutusunda 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.

1. Şekil. 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şkenler 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 için 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 koduna uygun 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'nu 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 Code Editor'da (Kod Düzenleyici) bir Java dosyasını tıklayın. Ardından File > New > Java Class'ı (Dosya > Yeni > 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 adıyla ilgili koşullara uygun olmalıdır. Dosya adı uzantısı yazmayın.
    • Tür: Sınıf kategorisini veya türünü 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 virgülle ve ardından isteğe bağlı bir boşlukla ayrılmalıdır. 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 özelliği yalnızca ilk arayüz adı için çalışır. Virgül ve ardından gelen arayüz adının bir ipucu hatasına neden olabileceğini ancak bu hatanın oluşturulan kodu etkilemediği için 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ı renkle 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ı package ifadesini içermez ve sınıf veya tür, projedeki bir pakete yerleştirilmez.
    • Varsayılan yöntem, Yeni Sınıf Oluştur iletişim kutusunu nasıl başlattığınıza bağlıdır. Önce Project (Proje) penceresinde bir Java dosyası veya klasörü seçtiyseniz varsayılan olarak seçtiğiniz öğenin paketi kullanılır. Öncelikle kod düzenleyicide bir Java dosyasına tıkladıysanız varsayılan olarak bu dosyayı içeren paket kullanılır.

    • 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'u (Tamam) 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 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üzenleyici'de açılır.

Not: Dosya > Yeni > Singleton veya Dosya > Yeni > Java Sınıfı'nı seçerek tekil sınıf oluşturabilirsiniz. İkinci teknik 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 ayraç ( { ) boyunca 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 {
}

Enum dosya ş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 Java import 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ü uygular ve Activity sınıfını genişletirseniz "import android.app.Activity;\nimportjava.lang.Runnable;\n" olur.
  • VISIBILITY: Sınıfa herkese açık erişimin olup olmayacağı. PUBLIC veya PACKAGE_PRIVATE değerini alabilir.
  • SUPERCLASS - Tek bir sınıf adı veya boş. Bu öğe 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} ifadesi 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.