Android'de 'Context' nedir?
Android programlamada Context
sınıfı tam olarak nedir ve ne için kullanılır?
Bu konuyu geliştirici sitesinde okudum, ancak net bir şekilde anlayamadım.
1861
3
Android programlamada Context
sınıfı tam olarak nedir ve ne için kullanılır?
Bu konuyu geliştirici sitesinde okudum, ancak net bir şekilde anlayamadım.
Basitçe söylemek gerekirse:
Adından da anlaşılacağı gibi, uygulamanın/nesnenin mevcut durumunun bağlamıdır. Yeni oluşturulan nesnelerin neler olup bittiğini anlamasını sağlar. Genellikle programınızın başka bir bölümüyle (aktivite ve paket/uygulama) ilgili bilgi almak için çağırırsınız.
Bağlamı
getApplicationContext()
,getContext()
,getBaseContext()
veyathis
(Application, Activity, Service ve IntentService sınıfları gibiContext
ten genişleyen bir sınıfta olduğunda) çağırarak elde edebilirsiniz.Bağlamın tipik kullanımları:
Yeni nesneler oluşturma: Yeni görünümler, adaptörler, dinleyiciler oluşturma:
Standart ortak kaynaklara erişim: LAYOUT_INFLATER_SERVICE, SharedPreferences gibi hizmetler:
Bileşenlere dolaylı olarak erişme: İçerik sağlayıcılar, yayınlar, niyet ile ilgili olarak
Bağlam, sistem için bir tutamaçtır; kaynakları çözümleme, veritabanlarına ve tercihlere erişim elde etme gibi hizmetler sağlar. Bir Android uygulamasının etkinlikleri vardır. Context, uygulamanızın o anda çalıştığı ortamın bir tanıtıcısı gibidir. Aktivite nesnesi Context nesnesini miras alır.
Daha fazla bilgi için Android Studio ile Android geliştirmeye giriş - Öğretici bölümüne bakın.
Bir Android Context, uygulamaya özel kaynaklara ve sınıfa ve uygulama ortamı hakkındaki bilgilere erişime izin veren bir Interface (genel anlamda, Java anlamında değil; Java'da `Context' aslında soyut bir sınıftır!
Eğer android uygulamanız bir web uygulaması olsaydı, bağlamınız
ServletContext
e benzer bir şey olurdu (burada tam bir karşılaştırma yapmıyorum).Aktiviteleriniz ve hizmetleriniz de
Context
i genişletir, böylece uygulamanın çalıştığı ortam bilgilerine erişmek için tüm bu yöntemleri miras alırlar.