Saya mengembangkan aplikasi yang mendukung Android> = 4.0. Ini menggunakan fragmen dari android.app
paket. Karena saya menghadapi masalah dengan implementasi fragmen yang lebih lama di 4.0, seperti ini , yang sudah diperbaiki di perpustakaan dukungan, saya sedang mempertimbangkan untuk beralih kembali ke implementasi fragmen dari perpustakaan dukungan untuk mendapatkan implementasi yang lebih andal dan konsisten.
Apa pendapat Anda tentang ini? Apakah Anda menggunakan fragmen dari perpustakaan dukungan, meskipun sudah tersedia, ketika mengembangkan untuk Android 4?
android
android-fragments
android-support-library
brillenheini
sumber
sumber
Jawaban:
Dari pengalaman saya, menggunakan implementasi fragmen yang sama pada semua perangkat Android adalah keuntungan besar. Saya tidak bisa menyingkirkan semua NullPointerExceptions ketika negara disimpan di Android 4.0 menggunakan fragmen asli, dengan perpustakaan dukungan mereka semua hilang. Saya juga tidak bisa melihat kelemahan apa pun sejauh ini dengan pendekatan ini.
Jadi jawaban saya untuk pertanyaan saya sendiri sekarang: Ketika mengembangkan untuk Android 4.x, menggunakan fragmen dari perpustakaan dukungan adalah ide yang bagus. Pustaka dukungan memiliki bug yang diperbaiki yang masih ada dalam implementasi fragmen yang lebih lama dan sering diperbarui dengan lebih banyak perbaikan bug.
sumber
android.app.Fragment
itu? Jika Anda dapat menambahkan ini ke jawaban Anda di sini dengan sedikit penjelasan, saya akan sangat puas. Terima kasih!objectAnimator
, bahkan jika OS target yang sebenarnya mendukungnya). Yang mana, jika Anda menggunakanViewPager
, berarti Anda harus menggunakan adaptor dari pustaka dukungan v13, jika tidak, Anda tidak dapat memiliki viewpager dan membalik animasi.Salah satu alasan utama untuk tetap menggunakan
SupportFragment
untuk sementara waktu adalah bahwa Anda tidak memiliki akses keChildFragmentManager
API 17. Perpustakaan dukungan akan memberi Anda versi dukungan dari manajer fragmen anak.Ini menjadi masalah besar jika Anda memiliki fragmen yang berisi fragmen lain. Ini biasa terjadi pada aplikasi tablet dengan kompleksitas yang tinggi dan / atau arsitektur keseluruhan Anda didasarkan pada tata letak tab atau menggunakan laci navigasi.
sumber
Saya juga merasa frustrasi karena harus menyertakan pustaka dukungan, meskipun menargetkan Android 4.0+ - tetapi tampaknya ini direkomendasikan secara resmi:
http://developer.android.com/tools/support-library/features.html
sumber
IMHO jika Anda berencana untuk mengembangkan untuk 4.0 saja, saya akan merekomendasikan pergi dengan perpustakaan asli karena executable akan semakin kecil. Memang benar bahwa Anda mungkin mengalami masalah bug di versi awal, tapi saya pikir sebagian besar harus cukup sepele untuk diselesaikan. Juga perpustakaan kompatibilitas seharusnya memetakan ke fragmen asli jika Anda menjalankan pada 4.0 dan lebih tinggi pula. Jadi, Anda mungkin akhirnya harus bergumul dengan masalah-masalah semacam ini. Masalah dengan pustaka dukungan adalah bahwa Anda memiliki banyak kelas muncul 2x (sekali dalam struktur paket dukungan dan sekali dalam struktur paket "asli") yang membuat pengembangan sedikit lebih rumit.
Namun, jika Anda ingin juga merilis aplikasi Anda sebelum 4.0 maka tidak ada jalan lain di perpustakaan dukungan. Juga karena ada sekitar 38% dari semua pengguna di 2.3 mungkin masuk akal untuk memasukkan versi OS ini. Dalam kasus seperti itu Anda dapat menggunakan perpustakaan dukungan dalam kombinasi dengan Jake Wartons ActionBarSherlock (atau dengan googles mendukung Perpustakaan ActionBar setelah akhirnya dirilis).
sumber
Tampaknya lebih baik menggunakan Perpustakaan Dukungan sekarang karena saya melihat pernyataan di sini https://developer.android.com/reference/android/app/Fragment.html
sumber