Android-support-v7-appcompat ve Android-support-v4 arasındaki fark


147

Android-support-v4.jar ile android-support-v7-appcompat.jar arasındaki farkı bilmek istedim . Uygulamama appcompat Eylem Çubuğu eklemek istersem, hem android-support-v7-appcompat.jar hem de android-support-v4.jar veya yalnızca android-support-v7-appcompat.jar eklemem gerekir mi ?

Ayrıca, android-support-v13.jar'da appcompat var mı?

Yanıtlar:


170

GÜNCELLEME

Bu soru yanıtlandıktan sonra destek kitaplığında birçok değişiklik yapıldı. İyi olan şey, aynı zamanda çok iyi belgelenmiştir. Bu nedenle , daha fazla ayrıntı ve daha fazla kullanılabilir destek kitaplığı için Destek Kitaplığı Belgelerini okumalısınız .

Destek Kitaplığı sürüm 26.0.0'dan (Temmuz 2017) itibaren, çoğu destek kitaplığında desteklenen minimum API düzeyi, çoğu kitaplık paketi için Android 4.0'a (API düzeyi 14) yükseltildi.


Destek Kitaplığı Paketlerinden farkı aşağıdadır :

v4 Destek Kitaplığı

Bu kitaplık, Android 1.6 (API seviyesi 4) Android 2.3 (API seviyesi 9) Android 4.0 (API seviyesi 14) ve üstü ile kullanılmak üzere tasarlanmıştır. Uygulama bileşenleri desteği, kullanıcı arabirimi özellikleri, erişilebilirlik, veri işleme, ağ bağlantısı ve programlama yardımcı programları dahil olmak üzere diğer kitaplıklara kıyasla en büyük API setini içerir.

v7 Kitaplıkları

Android 2.1 (API seviyesi 7) Android 2.3 (API seviyesi 9) Android 4.0 (API seviyesi 14) ve üstü ile kullanılmak üzere tasarlanmış birkaç kitaplık vardır . Bu kitaplıklar belirli özellik setleri sağlar ve uygulamanıza birbirinden bağımsız olarak dahil edilebilir.

v7 appcompat kitaplığı

Bu kitaplık, Eylem Çubuğu kullanıcı arabirimi tasarım modeli için destek ekler.

Not: Bu kitaplık, v4 Destek Kitaplığı'na bağlıdır. Ant veya Eclipse kullanıyorsanız, v4 Destek Kitaplığını bu kitaplığın sınıf yolunun bir parçası olarak eklediğinizden emin olun.

Yani evet, v7'yi kullanmak istiyorsanız her iki kavanoza da ihtiyacınız var.


Android-support-v13.jar için güncelleme

v13 Destek Kitaplığı

Bu arayüz 27.1.0 API seviyesinde kullanımdan kaldırıldı. Kullanım Fragment yerine çerçeve Fragment.

v13 Destek Kitaplığı

Bu kitaplık, Android 3.2 (API seviyesi 13) ve üstü için kullanılmak üzere tasarlanmıştır. (FragmentCompat) sınıfı ve ek parça destek sınıfları ile Fragment kullanıcı arabirimi modeli için destek ekler

Paket ayrıntılarını gördüğünüzde, tanımda verildiği gibi bir FragmentCompat sınıfı vardır . Bu nedenle, appcompat kitaplığının tüm sınıflarına sahip değildir.


2
Min api 19'dan bir uygulama geliştiriyorsanız bunlara ihtiyacınız var mı?

2
v4 Destek Kitaplıkları - Bu kitaplıklar, Android 2.3 (API düzeyi 9) ve üstüile kullanılmak üzere tasarlanmıştır.
Vadik

1
Ve v7 Destek Kitaplıkları - Android 2.3 (API seviyesi 9) ve üstü ile kullanılmak üzere tasarlanmış birkaç kitaplık vardır .
Vadik

@ user5366495 Muhtemelen evet. İyi şeylerin çoğu içindir API21 and above ve eğer onu daha düşük seviyede kullanmak istiyorsanız, bunun için destek kitaplığını kullanmalısınız. Yani hala buna ihtiyacınız olabilir API19.
Mahdi-Malv

49

Destek kitaplığı nedir?

Destek kitaplıkları, yeni eklenen bir özelliği eski cihazlarla çalışmasını sağlayan kod kitaplıklarıdır (Sınıf koleksiyonu).
Örneğin, Materyal Tasarımı API 21 tanıtılan (Android 5.0 - Lolipop) ama v7 destek kütüphane API 7 (Android 2.1.x -Eclair) ve daha yüksek için hazır hale getirir.

Farklı destek kitaplıkları nelerdir?

Ana destek kitaplıklarından bazıları

  • V4 Destek kitaplığı

  • V7 Destek kitaplığı

  • V8 Destek kitaplığı

  • v13 Destek kitaplığı

V7 Support Library'de 7 ne anlama geliyor?

Bu, bu kitaplığın API seviyesi 7 ve üstü ile kullanılmak üzere tasarlanmış özelliklere sahip olduğu anlamına gelir. Aynı şey V4 için de geçerlidir (API 4 ve üstü için olan özellikler içerir) ve benzeri.

V7 Destek kitaplığı ile v7 appcompat kitaplığı arasındaki fark nedir?

Ben dahil çok az insan bu iki terimle karıştırılıyor. Aslında, v7 appcompat kitaplığı, v7 Destek kitaplığının bir parçasıdır. v7 destek kitaplığı, temel olarak API 7 ve üzeri için Materyal tasarımını ve ActionBar tasarım modelini desteklemek için geliştirilmiştir.
V7 daha fazla alt kategoriye ayrılabilir

  • v7 appcompat kitaplığı

  • v7 cardView kitaplığı

  • v7 recyclerView kitaplığı

  • v7 palet kitaplığı vb.

v7 appcompat kitaplığı, ActionBar, ActionBarActivity, ShareActionProvider gibi temel sınıflara sahiptir.

Yani ekleyerek,

com.android.support:appcompat-v7:21.0.+

gradle dosyanızdaki bağımlılık, yukarıda belirtilen sınıfları içe aktarır.

Bonus

Diğer destek kitaplıkları

Multidex Destek Kitaplığı (65.000'den fazla yöntemle uygulamalar oluşturmak için)
v17 Leanback destek Kitaplığı (Android TV için önemli gereçler sağlayan bir Destek kitaplığı)

İlgili bağlantılar


6
Kabul edilen cevap bu olmalı, her şeyi basit kelimelerle açıkça açıklıyor.
gegobyte

44

Destek kitaplığı yalnızca minimum sdk sürümünüz API Düzey 11'den düşükse gereklidir. Aksi takdirde, Api Düzey 11 veya Üzeri için projenize destek kitaplığı eklemeniz gerekmez.

android-destek-v4.jar: Destek android.appsınıfları android API düzeyinde 4 veya sonrası için uygulamaların geliştirilmesine yardımcı olmak. Uygulamanızı backword uyumlu hale getirebilmeniz için,

android-support-v7.jar En son destek kitaplığı güncellemesine yakın zamanda eklendi. Eylem çubuğu kullanıcı arayüzü tasarım modelinin Android 2.1 (API seviyesi 7) ve sonraki sürümlere geri uygulanmasına izin veren ActionBar. Bu sınıfın kullanımı, yeni ActionBarActivitysınıfı genişleterek etkinliğinizi uygulamanızı gerektirir .

Uygulamama appcompat eylem çubuğu eklemek istersem, hem android-support-v7-appcompat.jar hem de android-support-v4.jar veya yalnızca android-support-v7-appcompat.jar eklemem gerekir mi?

Evet, kullanmak istiyorsanız her iki kitaplığın referansını eklemeniz gerekir.

android-support-v13.jar'da appcompat var mı?

Hayır, FragmentCompat içerir, böylelikle eğer Fragment özelliklerinden bir kısmı sürüm 13'ten sonra eklenirse, onu Api seviyesi 11 ile uyumlu hale getirebilirsiniz, böylece Uygulama hedefleyen API 11 veya daha yeni sürümlerde eklenen özelliği kullanabilir.


9
DrawerLayout/ NavigationDrawerşu anda yalnızca destek kitaplıklarında mevcuttur.
Kiran

3
Android uygulamanızda kullanabileceğiniz, com.android.support:multidex:1.0.0 ve com.android gibi 11'den fazla API'ye varsayılan olarak dahil edilmeyen destek kitaplıklarından birini temel alan başka bileşenler de vardır. destek: tasarım: 23.1.0. tam bilgi için bunu kontrol edin: developer.android.com/tools/support-library/features.html
aselims

google'ın developer.android.com/topic/libraries/support-library/… adresinde söylediği gibi v4 desteği ile v7 desteği arasında bir fark yoktur. her ikisi de api 9 ve üstü içindir. bu doğru mu?!
Mahdi

Kenji, evet bu doğru. Google vardiya min desteği 4'ten 9'a ve 7'den 9'a ve her iki kitaplık artık birbirini kopyalıyor.
Yaroslav Havrylovych

Min api 19'dan bir uygulama geliştiriyorsanız bunlara ihtiyacınız var mı?

11

Öncelikle şunu anlamalıyız, Android Destek Kitaplığı nedir?

Android Destek Kitaplığı orijinal olarak 2011 yılında yayınlandı, Android Uyumluluk Kitaplığı olarak söyleyebilirsiniz. Android Destek Kitaplığı eski sürümler için daha yeni API'ler sağlar, ancak hikaye yeterli değildir.

Bu, daha yüksek sürüm numaralarına sahip destek kitaplıklarının önceki kitaplıkların özelliklerini içermesi biraz kafa karıştırıcı olabilir (v7-appcompat'ın v4'teki tüm özellikleri geliştirdiğini ve içerdiğini düşünebilirsiniz). Çoğu durumda bu yanlıştır, ancak kitaplıkların kendilerinin bir revizyon numarası vardır. Örneğin, "AppCompat v21" aslında destek kitaplığı v7-appcompat, revizyon 21'i ifade eder.

Android Destek Kitaplığı tek bir kitaplık değildir, ancak kabaca iki gruba ayrılabilir: uyumluluk ve bileşen kitaplıkları.

1-Uyumluluk Kitaplıkları , önceki sürümleri çalıştıran cihazların daha yeni API'lerden yararlanabilmesi için daha yeni çerçeve sürümlerindeki arka plan özelliklerine odaklanır. Başlıca uyumluluk kitaplıkları v4 ve v7-appcompat'tır.

v4 kitaplığı : Birçok özellik içerir ve adından da anlaşılacağı gibi API 4'ü destekler. Buna ek olarak, Fragment ve Loader (her ikisi de API 11 çerçevesinde sunulan) gibi büyük sınıflar için uygulamaları desteklemek için, ayrıca ViewPager ve DrawerLayout gibi çerçevede hiç bulunmayan yaygın olarak kullanılan birkaç sınıf bulun.

v7-appcompat : v7-appcompat kitaplığı, API 7'ye geri sürümler için ActionBar (API 11'de sunulmuştur) ve Araç Çubuğu (API 21'de sunulmuştur) için destek uygulamaları sağlar. v4 kitaplığını gerektirir ancak bunu içermez. Bu nedenle, v7-appcompat'a bağlı herhangi bir özellik de v4'e bağlıdır.

2 Bileşen Kitaplıkları Android Destek Kitaplığı, geliştiricilerin başka şekilde standart çerçevenin parçası olmayan özellikler eklemesine olanak tanıyan daha küçük, daha modüler bileşen kitaplıkları da sağlar. Bu bağımsız kitaplıklar, bağımlılıklar endişesi olmadan bir projeden kolayca eklenebilir veya kaldırılabilir. Dikkate alınması gereken birkaç değerli bileşen kitaplığı vardır:

v7-recyclerview : büyük miktarda veriyi verimli bir şekilde görüntüleyen ve canlandıran ve ListView'ün yerini alacak şekilde tasarlanan RecyclerView bileşenini sağlar

v7-cardview : CardView bileşenini sağlayarak kartların kullanıcı arayüzü tasarım modelini etkinleştirir

v7-gridlayout : UI öğelerinin dikdörtgen bir ızgarada organize edilmesini sağlayan GridLayout sınıfını sağlar. Vb..

Diğer Kitaplıklar Android Destek Kitaplığı, daha az kullanılan ancak yine de bahsetmeye değer birkaç başka kitaplık içerir:

v8: RenderScript (API 11'de sunulmuştur) için API 8'e geri destek sağlar

v13 : Fragment UI kalıbı için ek uyumluluk desteği sağlar ve v4 kitaplığını paketler

v17 : TV kullanıcı arayüzleri oluşturmak için destek sağlar

Android Destek Kitaplığını ne zaman kullanmalıyım?

Uygulamanızın minSdkVersion'dan daha yeni olan veya standart çerçevede bulunmayan belirli çerçeve özelliklerine ihtiyacınız olduğunda destek kitaplıklarından birini kullanmalısınız.

ve bu eğiticiye atıfta bulunuyorum


5

Bu yanıt, sürümleri> = 26.0.0 olan destek kitaplığı istemcileri için geçerlidir:

Dikkat : Destek Kitaplığı 26.0.0 (Temmuz 2017) sürümünden başlayarak, çoğu destek kitaplığında desteklenen minimum API düzeyi , çoğu kitaplık paketi için Android 4.0'a (API düzeyi 14) yükseltilmiştir .

Örneğin, support-v4 ve support-v7 paketinin her ikisi de Support Library'nin 26.0.0 ve üzeri sürümleri için minimum 14 API düzeyini destekler .

Daha fazla bilgi için bkz. Destek Kitaplığı - Sürüm Desteği ve Paket Adları .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.