13 Şubat 2018 Salı

Android Dersleri 10 - Context object'i nasıl elde ederiz?


10 - Context object'i nasıl elde ederiz?

You can get the context by invoking
- getApplicationContext(),
- getContext(),
- getBaseContext() or
- this (when in the activity class).
( Context'i elde etmenin 4 yolu vardır : getApplicationContext(), getContext(), getBaseContext() or this (when in the activity class). Activity class'ı içerisindeki this keyword, context object'e refer eder. )
Typical uses of context:
·         Creating new objects: Creating new views, adapters, listeners: ( Yeni bir view, adapter veya listener object yaratırkencontext object kullanılır. )
·         TextView tv = new TextView(getContext());
ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);
    TextView TV=new TextView(this);
this -> refers to the context of the current activity.

·         Accessing standard common resources: Services like LAYOUT_INFLATER_SERVICE, SharedPreferences: ( Ortak kullanılan resource'lara erişirken context object kullanılır. Örneğin LAYOUT_INFLATER_SERVICE ve SharedPreferences service'lerine erişirken context object kullanılır.  )
·         context.getSystemService(LAYOUT_INFLATER_SERVICE)
getApplicationContext().getSharedPreferences(*name*, *mode*);
·         Accessing components implicitly: Regarding content providers, broadcasts, intent ( content providers, contentresolver, broadcasts, intent gibi bileşenlere erişmek için context object kullanılır. )
getApplicationContext().getContentResolver().query(uri, ...);

Difference between getContext() , getApplicationContext() , getBaseContext() and “this”
·        View.getContext(): Returns the context the view is currently running in. Usually the currently active Activity. ( View object hangi context'in içerisindeyse o context'i return eder. Genellikle çalışmakta olan aktif activity'nin context'ini return eder.  )
·        Activity.getApplicationContext(): Returns the context for the entire application (the process all the Activities are running inside of). Use this instead of the current Activity context if you need a context tied to the lifecycle of the entire application, not just the current Activity. ( Uygulamanın tamamını kapsayan context'i, yani içerisinde tüm activity'lerin çalıştığı context'i return eder. Eğer current activity ile ilgili context'e değil de uygulamanın bütününü kapsayan context'e ihtiyacamız varsa Activity.getApplicationContext() method'unu kullanarak elde edeceğimiz context object'i kullanmalıyız.   )
·        ContextWrapper.getBaseContext(): If you need access to a Context from within another context, you use a ContextWrapper. The Context referred to from inside that ContextWrapper is accessed via getBaseContext().


Hiç yorum yok:

Yorum Gönder