Android Studio, Kotlin için tam destek sunarak Kotlin dosyalarını mevcut projenize dönüştürür ve Java dil kodunu Kotlin'e dönüştürür. Ardından, Android Studio'nun mevcut araçlarını Kotlin kodunuzla kullanabilirsiniz. Otomatik tamamlama, hata analizi kontrolü, yeniden düzenleme, hata ayıklama ve diğer özellikleri içerir.
Yeni bir projeye başlıyor ve Kotlin'i kullanmak istiyorsanız Proje oluşturun.
Örnekler için şuraya göz atın: Kotlin kod örnekleri.
Kotlin'i mevcut bir projeye ekleme
Kotlin'i projenize eklemek için aşağıdakileri yapın:
Dosya > Yeni'yi tıklayın ve aşağıdakiler gibi çeşitli Android şablonlarından birini seçin: yeni boş bir Parça olarak görünür. Listeyi görmüyorsanız birini seçin, önce Proje penceresini açın ve ardından istediğiniz şablonu seçin inceleyebilirsiniz.
'nı inceleyin.Görüntülenen sihirbazda Kaynak Dil olarak Kotlin'i seçin. Şekil 2'de, aşağıdakileri yapmak istediğinizde Yeni Android Etkinliği iletişim kutusu gösterilmektedir yeni bir etkinlik oluşturun.
Sihirbazla devam edin.
Alternatif olarak, Dosya > Yeni > Kotlin Dosyası/Sınıfı'nı kullanarak temel Kotlin dosyasıdır. Bu seçeneği görmüyorsanız Proje penceresini açın ve Java dizinini seçin. Yeni Kotlin Dosyası/Sınıfı penceresi, dosya adını tanımlar ve dosya türü için birkaç seçenek sunar: Dosya, Sınıf, Arayüz, Enum Sınıfı veya Nesne. Yaptığınız seçim yeni Kotlin dosyasında sizin için oluşturulan temel yapı iskelesini belirler. Şu durumda: Sınıf'ı seçerseniz Android Studio, verilen ve eşleşen bir sınıf tanımıdır. Arayüz'ü seçerseniz bir arayüz içine alınmış olması gerekir.
Sayfalarınıza ilk kez yeni bir Kotlin sınıfı veya dosyası eklediyseniz doğrudan projeniz varsa (Android şablonlarını kullanmadan) Kotlin'in projede yapılandırılmadığını belirten uyarının (Şekil 3'te gösterildiği gibi) yapıldığını unutmayın. Chrome'un sağ üst köşesindeki Yapılandır'ı tıklayarak Kotlin'i yapılandırın. düzenleyiciye veya sağ alt köşede görüntülenen etkinlik günlüğü uyarısına yazın.
Kotlin içeren tüm modüller için Kotlin'i yapılandırma seçeneğini belirleyin dosyaları istendiğinde aşağıdaki gibidir:
Tamam'ı tıkladığınızda Android Studio, Kotlin'i proje sınıf yolunuza ekler ve
Kotlin dosyaları içeren her modüle Kotlin Android eklentisini uygular.
build.gradle
dosyalarınız aşağıdaki örneklere benzer olmalıdır:
Eski
// Project build.gradle file. buildscript { ext.kotlin_version = '1.4.10' ... dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
Kotlin
// Project build.gradle.kts file. buildscript { extra["kotlin_version"] = "1.4.10" ... dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") } }
Eski
// Inside each module using kotlin plugins { ... id 'kotlin-android' } ... dependencies { implementation 'androidx.core:core-ktx:1.3.2' implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" }
Kotlin
// Inside each module using kotlin plugins { ... kotlin("android") } ... val kotlin_version: String by rootProject.extra dependencies { implementation("androidx.core:core-ktx:1.3.2") implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version") }
Kaynak kuruluş
Yeni Kotlin dosyaları varsayılan olarak src/main/java/
bölümüne kaydedilir. Böylece kolayca
hem Kotlin hem de Java dosyalarını tek bir konumda görüntülemenizi sağlar. Ya da benzer yapıda
Kotlin dosyalarınızı kaydetmek için, Kotlin dosyalarını
Bunun yerine src/main/kotlin/
. Bunu yaparsanız bunu da
sourceSets
içindeki dizin
aşağıdaki gibi yapılandırma gerekir:
Eski
android { sourceSets { main.java.srcDirs += 'src/main/kotlin' } }
Kotlin
android { sourceSets { getByName("main") { java.srcDir("src/main/kotlin") } } }
Mevcut Java kodunu Kotlin koduna dönüştürün
Java kodunu Kotlin'e dönüştürmek için Java dosyasını Android Studio'da açın ve şunu seçin: Kod > Java Dosyasını Kotlin Dosyasına Dönüştür'ü tıklayın. Alternatif olarak yeni bir Kotlin oluşturabilirsiniz (Dosya > Yeni > Kotlin Dosyası/Sınıfı) açın ve Java kodunuzu yapabilirsiniz. Android Studio, bunun ardından bir istem ve kodunuzu dönüştürmeyi önerir. gibi bir özellik içerir. Dönüştürmek için Evet'i tıklayın. İsterseniz Bir dahaki sefere bu iletişim kutusunu gösterme'yi işaretleyin. Bu durumda, gelecekteki dönüşümler otomatik olarak ayarlanır.
Kod dönüştürme ve boş değer atanabilirliği
Android Studio'nun dönüştürme süreci, işlevsel olarak eş değer Kotlin kodu üretiyor derlenen ve çalışan bir uygulamadır. Ancak, muhtemelen yeni aboneleriniz için dönüştürme işlemlerini yapabilirsiniz. Örneğin, çalışanlar için dönüştürülen kod boş değerli türleri işler.
Android'de, View
nesnelerin ve diğer cihazların ilk kullanıma hazırlanmasını geciktirmek yaygın bir durumdur.
parçası oldukları parça veya etkinlik, hedefine ulaşana kadar
uygun bir yaşam döngüsü
durumuna sahip olursunuz. Örneğin, elinizdeki
düğmesini aşağıdaki snippet'te gösterildiği gibi parçalarınızdan birine ekleyin:
public class JavaFragment extends Fragment {
// Null until onCreateView.
private Button button;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_content, container,false);
// Get a reference to the button in the view, only after the root view is inflated.
button = root.findViewById(R.id.button);
return root;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// Not null at this point of time when onViewCreated runs
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
...
}
});
}
}
Düğme değişkeni boş değerli olsa da, tüm pratik amaçlar için
bu örnekte kullanıldığında hiçbir zaman null olmamalıdır. Ancak, değeri
oluşturulan Kotlin kodu, Button
değerini dikkate alır.
bir null değer türü olarak kullanır ve düğmenin sarmalamasını açmak için null olmayan onay operatörünü kullanır
aşağıdakileri göz önünde bulundurun:
class JavaFragment : Fragment() {
// Null until onCreateView.
private var button: Button? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
...
// Get a reference to the button in the view, only after the root view is inflated.
button = root.findViewById(R.id.button)
...
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// Not null at the point of time when onViewCreated fires
// but force unwrapped nonetheless
button!!.setOnClickListener { }
}
}
Bu dönüşüm, bu durumda lateinit
kullanmak kadar ideal değildir çünkü
boş olmayan bir onay veya güvenli çağrı ile düğme referansını açmaya zorlanır.
operatörünün eriştiği her yerde geçerli olur.
Diğer durumlarda, null
değeri metriğinize dayalı olarak geçerli bir değişken atamasıdır.
uygulamanın kullanım alanında, sonlandırılan bir elvis ile güvenli çağrı (?.) operatörü
operatörü (?:) operatörü,
null nesne veya null olmayan makul bir varsayılan değere zorlama. Android Studio
bu kararı vermek için yeterli bilgiye sahip olmadığı
dönüşüm süreci üzerinden görüntüleyebilirsiniz. Varsayılan olarak null olmayan onaylamaya karşılık gelse de
bunu takip edin ve dönüştürülen kodu gerektiği gibi ayarlayın.
Daha fazla bilgi
Projenizde hem Kotlin hem de Java kodunu kullanma hakkında daha fazla bilgi için Kotlin'den Java kodu çağırma.
Kurumsal senaryolarda Kotlin kullanma hakkında daha fazla bilgi edinmek için Kotlin'i büyük ekipler için kullanmaya başlama.
Mevcut Android API'lerinin deyimsel Kotlin sarmalayıcıları hakkında bilgi edinmek için Android KTX.