Perbedaan antara android-support-v7-appcompat dan android-support-v4

147

Saya ingin tahu perbedaan antara android-support-v4.jar dan android-support-v7-appcompat.jar . Jika saya ingin menambahkan Action Bar appcompat di aplikasi saya, apakah saya perlu menambahkan android-support-v7-appcompat.jar dan android-support-v4.jar atau hanya android-support-v7-appcompat.jar .

Juga, apakah android-support-v13.jar memiliki appcompat?

Tarun
sumber

Jawaban:

170

MEMPERBARUI

Ada banyak perubahan yang dilakukan ke perpustakaan dukungan sejak pertanyaan ini dijawab. Untung adalah, itu didokumentasikan dengan sangat baik. Jadi, Anda harus membaca Dokumentasi Perpustakaan Dukungan untuk lebih jelasnya dan lebih banyak perpustakaan dukungan yang tersedia.

Dimulai dengan rilis Library Support 26.0.0 (Juli 2017), level API minimum yang didukung di sebagian besar pustaka dukungan telah meningkat ke Android 4.0 (API level 14) untuk sebagian besar paket perpustakaan.


Di bawah ini perbedaan dari Paket Perpustakaan Dukungan :

Perpustakaan Dukungan v4

Pustaka ini dirancang untuk digunakan dengan Android 1.6 (API level 4) Android 2.3 (API level 9) Android 4.0 (API level 14) dan lebih tinggi. Ini termasuk set API terbesar dibandingkan dengan perpustakaan lain, termasuk dukungan untuk komponen aplikasi, fitur antarmuka pengguna, aksesibilitas, penanganan data, konektivitas jaringan, dan utilitas pemrograman.

v7 Perpustakaan

Ada beberapa perpustakaan yang dirancang untuk digunakan dengan Android 2.1 (API level 7) Android 2.3 (API level 9) Android 4.0 (API level 14) dan lebih tinggi. Perpustakaan ini menyediakan set fitur tertentu dan dapat dimasukkan dalam aplikasi Anda secara independen dari satu sama lain.

pustaka appcompat v7

Pustaka ini menambahkan dukungan untuk pola desain antarmuka pengguna Action Bar.

Catatan: Perpustakaan ini tergantung pada Perpustakaan Dukungan v4. Jika Anda menggunakan Ant atau Eclipse, pastikan Anda menyertakan Perpustakaan Dukungan v4 sebagai bagian dari classpath perpustakaan ini.

Jadi ya, Anda perlu kedua guci jika ingin menggunakan v7.


Pembaruan untuk android-support-v13.jar

v13 Perpustakaan Dukungan

Antarmuka ini tidak digunakan lagi di API level 27.1.0. Gunakan Fragment alih-alih framework Fragment.

v13 Perpustakaan Dukungan

Pustaka ini dirancang untuk digunakan untuk Android 3.2 (API level 13) dan lebih tinggi. Ini menambahkan dukungan untuk pola antarmuka pengguna Fragmen dengan kelas (FragmentCompat) dan kelas dukungan fragmen tambahan

Ketika Anda melihat detail paket itu memiliki kelas FragmentCompat seperti yang diberikan dalam definisi. Jadi ini bukan semua kelas perpustakaan appcompat.

Pankaj Kumar
sumber
2
Jika Anda mengembangkan aplikasi dari min api 19. Apakah Anda memerlukan ini?
2
v4 Support Libraries - Perpustakaan ini dirancang untuk digunakan dengan Android 2.3 (API level 9) dan lebih tinggi.
Vadik
1
Dan Perpustakaan Dukungan v7 - Ada beberapa perpustakaan yang dirancang untuk digunakan dengan Android 2.3 (API level 9) dan lebih tinggi.
Vadik
@ user5366495 Mungkin ya. Sebagian besar hal yang baik adalah untuk API21 and above dan jika Anda ingin menggunakannya pada yang lebih rendah, Anda harus menggunakan perpustakaan dukungan untuk itu. Jadi Anda mungkin masih membutuhkannya API19.
Mahdi-Malv
48

Apa itu perpustakaan pendukung?

Pustaka pendukung adalah pustaka kode (Kumpulan kelas) yang membuat fitur baru ditambahkan untuk bekerja dengan perangkat yang lebih lama.
Misalnya, Material Desain diperkenalkan pada API 21 (Android 5.0 - Lolipop) tapi
yang v7-dukungan perpustakaan membuatnya tersedia untuk API 7 (Android 2.1.x -Eclair) dan lebih tinggi.

Apa perpustakaan pendukung yang berbeda?

Beberapa perpustakaan pendukung utama adalah

  • Perpustakaan Dukungan V4

  • Perpustakaan Dukungan V7

  • Perpustakaan Dukungan V8

  • v13 Perpustakaan pendukung

Apa artinya 7 berdiri di Perpustakaan Dukungan v7?

Ini berarti perpustakaan ini memiliki fitur yang dirancang untuk digunakan dengan API level 7 dan lebih tinggi. Sama halnya dengan V4 (berisi fitur yang dimaksudkan untuk API 4 dan lebih tinggi) dan seterusnya.

Perbedaan antara perpustakaan dukungan v7 dan perpustakaan appcompat v7?

Hanya sedikit orang termasuk saya yang bingung dengan dua istilah ini. Sebenarnya, perpustakaan appcompat v7 adalah bagian dari perpustakaan dukungan v7. perpustakaan dukungan v7 terutama dikembangkan untuk mendukung desain Bahan dan pola desain ActionBar untuk API 7 dan lebih tinggi.
V7 dapat dikategorikan ke dalam lebih banyak sub kategori

  • pustaka appcompat v7

  • pustaka cardView v7

  • pustaka recyclerView v7

  • pallete v7 perpustakaan dll

pustaka appcompat v7 mengikuti kelas utama ActionBar, ActionBarActivity, ShareActionProvider.

Jadi menambahkan,

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

ketergantungan pada file gradle Anda, mengimpor kelas yang disebutkan di atas.

Bonus

Perpustakaan pendukung lainnya

Pustaka Dukungan Multidex (Untuk membuat aplikasi dengan lebih dari 65k metode)
v17 Pustaka Dukungan Leanback (Pustaka Dukungan yang menyediakan widget penting untuk Android TV)

Tautan yang relevan

Rohit Singh
sumber
6
Ini harus menjadi jawaban yang diterima, jelas menjelaskan semuanya dengan kata-kata sederhana.
gegobyte
44

Pustaka dukungan hanya diperlukan jika versi sdk minimum Anda kurang dari API Level 11. jika tidak, Anda tidak perlu menambahkan pustaka dukungan untuk proyek Anda untuk Api Level 11 atau Lebih Besar.

android-support-v4.jar: Mendukung android.appkelas untuk membantu pengembangan aplikasi untuk android API level 4 atau lebih baru. Agar Anda dapat membuat aplikasi backword Anda kompatibel,

android-support-v7.jar Baru-baru ini ditambahkan dalam pembaruan perpustakaan dukungan terbaru. ActionBar untuk memungkinkan implementasi pola desain antarmuka pengguna aksi bar kembali ke Android 2.1 (API level 7) dan lebih tinggi. Penggunaan kelas ini mengharuskan Anda mengimplementasikan aktivitas Anda dengan memperluas ActionBarActivitykelas baru .

Jika saya ingin menambahkan bilah tindakan appcompat di aplikasi saya, apakah saya perlu menambahkan android-support-v7-appcompat.jar dan android-support-v4.jar atau hanya android-support-v7-appcompat.jar.

Ya, Anda perlu menambahkan referensi dari kedua perpustakaan jika Anda ingin menggunakannya.

apakah android-support-v13.jar memiliki appcompat?

Tidak, itu termasuk FragmentCompat sehingga jika beberapa fitur Fragment menambahkan ditambahkan setelah versi 13 daripada Anda dapat membuatnya backword kompatibel dengan Api level 11. sehingga Penargetan aplikasi API 11 atau lebih besar dapat menggunakan fitur yang ditambahkan pada versi yang lebih baru.

Bhavesh Patadiya
sumber
9
DrawerLayout/ NavigationDrawerSaat ini hanya ada di perpustakaan dukungan.
Kiran
3
Ada komponen lain yang dapat Anda gunakan di aplikasi Android Anda yang didasarkan pada salah satu pustaka dukungan yang tidak disertakan secara default di API lebih dari 11 seperti com.android.support:multidex:1.0.0 dan com.android. dukungan: desain: 23.1.0. periksa ini untuk info lengkap: developer.android.com/tools/support-library/features.html
aselims
seperti kata google di developer.android.com/topic/libraries/support-library/… tidak ada perbedaan antara dukungan v4 dan dukungan v7. keduanya untuk api 9 ke atas. Apakah ini benar?!
Mahdi
Kenji, ya itu benar. Google menggeser dukungan min dari 4 ke 9 dan dari 7 ke 9 dan kedua perpustakaan sekarang saling menduplikasi.
Yaroslav Havrylovych
Jika Anda mengembangkan aplikasi dari min api 19. Apakah Anda memerlukan ini?
10

Pertama, kita perlu mengerti, Apa itu Perpustakaan Dukungan Android ?

Pustaka Dukungan Android pada awalnya dirilis pada tahun 2011, Anda dapat mengatakan bahwa sebagai Pustaka Kompatibilitas Android. Pustaka Dukungan Android menyediakan API yang lebih baru untuk rilis yang lebih lama. Tetapi ceritanya tidak cukup.

ini bisa sedikit membingungkan bahwa perpustakaan dukungan dengan nomor versi yang lebih tinggi menyertakan fitur dari perpustakaan sebelumnya (Anda mungkin berpikir v7-appcompat membaik dan menyertakan semua fitur dari v4). Dalam kebanyakan kasus, ini salah. Tapi perpustakaan itu sendiri memiliki nomor revisi. Misalnya, "AppCompat v21" sebenarnya merujuk ke perpustakaan dukungan v7-appcompat, revisi 21.

Pustaka Dukungan Android bukan pustaka tunggal tetapi secara kasar dapat dibagi menjadi dua kelompok: kompatibilitas dan pustaka komponen.

Perpustakaan 1-Kompatibilitas fokus pada fitur backporting dari rilis framework yang lebih baru sehingga perangkat yang menjalankan rilis sebelumnya dapat memanfaatkan API yang lebih baru. Pustaka kompatibilitas utama adalah v4 dan v7-appcompat.

pustaka v4 : Ini mencakup banyak fitur dan, seperti namanya, mendukung kembali ke API 4. Selain itu, untuk mendukung implementasi untuk kelas utama seperti Fragment dan Loader (yang keduanya diperkenalkan dalam kerangka kerja di API 11), Anda juga akan temukan beberapa kelas yang banyak digunakan dan tidak ada dalam kerangka kerja sama sekali, seperti ViewPager dan DrawerLayout.

v7-appcompat : pustaka v7-appcompat menyediakan implementasi dukungan untuk ActionBar (diperkenalkan pada API 11) dan Toolbar (diperkenalkan pada API 21) untuk rilis kembali ke API 7. Ini membutuhkan pustaka v4 tetapi tidak memasukkannya. Jadi, setiap fitur yang tergantung pada v7-appcompat juga tergantung pada v4.

Pustaka 2-Komponen Pustaka Dukungan Android juga menyediakan pustaka komponen yang lebih kecil dan lebih modular yang memungkinkan pengembang untuk menambahkan fitur yang bukan bagian dari kerangka kerja standar. Perpustakaan mandiri ini dapat dengan mudah ditambahkan atau dihapus dari proyek tanpa memperhatikan ketergantungan. Ada beberapa perpustakaan komponen yang berharga untuk dipertimbangkan:

v7-recyclerview : menyediakan komponen RecyclerView, yang secara efisien menampilkan dan menjiwai sejumlah besar data dan dirancang untuk menggantikan ListView

v7-cardview : menyediakan komponen CardView, memungkinkan pola desain UI kartu

v7-gridlayout : menyediakan kelas GridLayout, yang memungkinkan pengorganisasian elemen UI ke dalam kotak persegi panjang. Dll ..

Perpustakaan Lainnya Perpustakaan Dukungan Android juga berisi beberapa perpustakaan lain yang jarang digunakan, tetapi masih layak disebutkan:

v8: memberikan dukungan untuk RenderScript (diperkenalkan pada API 11) kembali ke API 8

v13 : memberikan dukungan kompatibilitas tambahan untuk pola UI Fragmen dan bundle the v4 librar

v17 : menyediakan dukungan untuk membangun UI TV

Kapan saya harus menggunakan Perpustakaan Dukungan Android?

Anda harus menggunakan salah satu pustaka dukungan ketika Anda membutuhkan fitur kerangka kerja spesifik yang lebih baru daripada minSdkVersion aplikasi Anda atau yang tidak tersedia dalam kerangka kerja standar.

dan saya merujuk tutorial ini

Farhana
sumber
5

Jawaban ini relevan untuk klien pustaka dukungan yang versinya>> 26.0.0:

Perhatian : Dimulai dengan rilis Library Support 26.0.0 (Juli 2017), level API minimum yang didukung di sebagian besar pustaka dukungan telah meningkat menjadi Android 4.0 (API level 14) untuk sebagian besar paket perpustakaan.

Misalnya, paket dukungan-v4 dan dukungan-v7 keduanya mendukung tingkat API minimum 14, untuk rilis dari Perpustakaan Dukungan dari 26.0.0 dan lebih tinggi .

Untuk informasi lebih lanjut, lihat Perpustakaan Dukungan - Dukungan Versi dan Nama Paket .

Eido95
sumber