Android Kotlin Companion Object

Ego1st

Uzman üye
15 Mar 2018
1,109
25
Android Kotlin Companion Object
Github Linki: //Eklenecek

Öncelikle bir Kotlin sınıfı oluşturuyoruz ismini Singleton koydum ben, Javadan öyle kalmış hafızada.

Kod:
package com.ego1st.kotlinlearning

import android.graphics.Bitmap

class Singleton {
    companion object Selected {
        var selectedImage : Bitmap? = null
    }
}

Gördüğünüz gibi Selected isimli bir Companion Object oluşturduk bunun içinde aktaracağımız veriyi null olarak tanımlayarak bırakıyoruz.

Kod:
val singleton = Singleton.Selected

Daha sonra gördüğünüz gibi herhangi bir sınıftan oluşturduğumuz Companion Object'ten bir obje oluşturuyoruz

Kod:
singleton.selectedImage = carImages[position]

ve kendi verimizi null olarak tanımladığımız veriye eşitliyoruz.

Verinin gönderim kısmı böyle şimdi, alalım.

Kod:
 val singleton = Singleton.Selected
imageView.setImageBitmap(singleton.selectedImage)

Gördüğünüz gibi hiçbir ekstra işlem olmadan önceden null olarak tanımladığımız veriyi kendi verimize eşitliyoruz ve bu sayede oradan gönderdiğimiz veriyi bozulmadan alabiliyoruz.

Companion Object küçük datalar için String Int vb. değil de daha çok intent ya da fragment args ile aktarılamayan veriler için kullanılır örneğin burada Bitmap yani Image yolladık.

Companion Object kullanımında herhangi bir sorun yaşarsanız sorabilirsiniz. İyi forumlar
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.