Eğer konuşursak Activity
, AppcompactActivity
, ActionBarActivity
vs vs ..
Genişledikleri Temel sınıflar hakkında konuşmalıyız, Önce süper sınıfların hiyerarşisini anlamalıyız.
Her şey, tüm bu sınıflar için süper sınıf olan Bağlam'dan başlar.
Bağlam , uygulaması Android sistemi tarafından sağlanan soyut bir sınıftır. Uygulamaya özgü kaynaklara ve sınıflara erişimin yanı sıra, başlatma etkinlikleri, yayınlama ve alma amaçları gibi uygulama düzeyinde işlemler için çağrılara izin verir.
Context
takip eder veya genişletir ContextWrapper
ContextWrapper uzatmak bir sınıftır Bağlam o sınıfı basitçe bütün başka Bağlamında yapılan çağrılarında delegeleri. Orijinal Bağlamı değiştirmeden davranışı değiştirmek için alt sınıflara ayrılabilir.
Şimdi Ulaşıyoruz Activity
Etkinlik genişleten bir sınıftır ContextThemeWrapper kullanıcı yapabileceği tek, odaklanmış bir şey olduğunu. Hemen hemen tüm etkinlikler kullanıcıyla etkileşime girer, bu nedenle Activity sınıfı sizin için bir pencere oluşturmaya özen gösterir
Aşağıdaki Sınıflar uzanmakla sınırlıdır, ancak kendi inişleri tarafından genişletilir ve belirli Api'ler için destek sağlar
SupportActivity birlikte uyumluluk işlevini düzenlenmesi için bir temel sınıftır Aktivite uzanan bir sınıftır
BaseFragmentActivityApi14 uzanan bir sınıftır SupportActivity
Bu sınıf kısıtlı olduğu bir temel sınıf ama uzanması olan
BaseFragmentActivityApi16 işlevselliğini desteklemek için V14
BaseFragmentActivityApi16 uzanan bir sınıftır
BaseFragmentActivityApi14 {@code için bir temel sınıftır
FragmentActivity } kullanmak mümkün v16 API'leri. Ama aynı zamanda sınıf kısıtlıdır ancak V16 işlevselliğini desteklemek için FragmentActivity tarafından genişletilir.
şimdi FragmentActivty
FragmentActivity genişleten bir sınıftır
BaseFragmentActivityApi16 ve bu destek tabanlı Fragment ve Yükleyici API'leri kullanmak istiyor.
Bu sınıfı yeni platformun yerleşik parçası ve yükleyici desteğinin aksine kullanırken, bu özelliklere erişmek için sırasıyla getSupportFragmentManager()
ve getSupportLoaderManager()
yöntemlerini kullanmanız gerekir .
ActionBarActivity , Destek Kitaplığı'nın bir parçasıdır. Destek kütüphaneleri, eski platformlarda daha yeni özellikler sunmak için kullanılır. Örneğin, ActionBar API 11'de tanıtıldı ve varsayılan olarak Etkinliğin bir parçasıdır (aslında temaya bağlı olarak). Bunun aksine , eski platformlarda ActionBar yoktur . Bu nedenle destek kitaplığı , ActionBar'ın işlevselliğini ve kullanıcı arabirimini sağlayan bir alt sınıf ( ActionBarActivity ) sınıfı ekler
2015 yılında ActionBarActivity Destek Kütüphanesi revizyonu 22.1.0 önerilmiyor. Bunun yerine AppCompatActivity kullanılmalıdır.
AppcompactActivity genişleten bir sınıftır
FragmentActivity destek kitaplığı işlem çubuğu özelliklerini kullanmak faaliyetler için Baz sınıftır.
Bu sınıfı etkinliğiniz için genişleterek ve etkinlik temasını veya benzer bir temayı ayarlayarak API düzey 7 veya daha yüksek bir sürümde çalışırken etkinliğinize bir ActionBar ekleyebilirsiniz.Theme.AppCompat
Bu ikisine atıfta bulunuyorum bir , iki
FragmentActivity
. Yalnızca evFragment
sahipleriniz var. Daha yeni Android sürümlerinde,Activity
sınıfın kendisi bunları doğrudan barındıracak şekilde güncellendi. Eski sürümleri desteklemekFragmentActivity
için tanıtıldı.