Di Android API 11+, Google telah merilis kelas baru yang disebut Fragment
.
Dalam video, Google menunjukkan bahwa bila memungkinkan ( link1 , link2 ), kita harus menggunakan fragmen bukan kegiatan, tetapi mereka tidak menjelaskan mengapa.
Apa tujuan fragmen dan beberapa kemungkinan penggunaannya (selain beberapa contoh UI yang dapat dengan mudah dicapai dengan tampilan / tata letak sederhana)?
Pertanyaan saya adalah tentang fragmen:
- Apa tujuan menggunakan fragmen?
- Apa kelebihan dan kekurangan menggunakan fragmen dibandingkan dengan menggunakan aktivitas / tampilan / tata letak?
Pertanyaan bonus:
- Bisakah Anda memberikan beberapa kegunaan yang sangat menarik untuk fragmen? Hal-hal yang tidak disebutkan Google di video mereka?
- Apa cara terbaik untuk berkomunikasi antara fragmen dan aktivitas yang mengandungnya?
- Apa hal paling penting untuk diingat ketika Anda menggunakan fragmen? Adakah tip dan peringatan dari pengalaman Anda?
android
android-layout
android-fragments
android-activity
android-3.0-honeycomb
pengembang android
sumber
sumber
Jawaban:
Fragmen adalah solusi Android untuk membuat antarmuka pengguna yang dapat digunakan kembali. Anda dapat mencapai beberapa hal yang sama menggunakan aktivitas dan tata letak (misalnya dengan menggunakan termasuk). Namun; fragmen ditransfer ke API Android, dari HoneyComb, dan ke atas. Biarkan saya uraikan;
The
ActionBar
. Jika Anda ingin tab di sana untuk menavigasi aplikasi Anda, Anda dengan cepat melihat bahwaActionBar.TabListener
antarmuka memberi AndaFragmentTransaction
sebagai argumen input keonTabSelected
metode. Anda mungkin dapat mengabaikan ini, dan melakukan sesuatu yang lain dan pintar, tetapi Anda akan bekerja melawan API, bukan dengan itu.The
FragmentManager
menangani «kembali» untuk Anda dalam cara yang sangat cerdas. Kembali tidak berarti kembali ke aktivitas terakhir, seperti untuk aktivitas reguler. Itu berarti kembali ke keadaan fragmen sebelumnya.Anda dapat menggunakan fitur keren
ViewPager
dengan aFragmentPagerAdapter
untuk membuat antarmuka gesek. TheFragmentPagerAdapter
kode jauh lebih bersih daripada adaptor biasa, dan ia mengendalikan instantiations dari fragmen individu.Hidup Anda akan jauh lebih mudah jika Anda menggunakan Fragmen ketika Anda mencoba membuat aplikasi untuk ponsel dan tablet. Karena fragmennya sangat terkait dengan API Honeycomb +, Anda juga ingin menggunakannya pada ponsel untuk menggunakan kembali kode. Di situlah perpustakaan kompatibilitas sangat berguna.
Anda bahkan dapat dan harus menggunakan fragmen untuk aplikasi yang hanya ditujukan untuk ponsel. Jika Anda memiliki portabilitas dalam pikiran. Saya menggunakan
ActionBarSherlock
dan pustaka kompatibilitas untuk membuat aplikasi "ICS looking", yang terlihat sama sepanjang perjalanan kembali ke versi 1.6. Anda mendapatkan fitur terbaru sepertiActionBar
, dengan tab, overflow, bilah tindakan perpecahan, viewpager dllCara terbaik untuk berkomunikasi antar fragmen adalah niat. Saat Anda menekan sesuatu dalam Fragmen, Anda biasanya akan memanggilnya
StartActivity()
dengan data. Maksudnya diteruskan ke semua fragmen aktivitas yang Anda luncurkan.sumber
Tidak yakin video apa yang Anda maksud, tapi saya ragu mereka mengatakan Anda harus menggunakan fragmen alih-alih aktivitas, karena tidak dapat dipertukarkan secara langsung. Sebenarnya ada entri yang cukup terperinci dalam Panduan Dev, pertimbangkan untuk membacanya secara detail.
Singkatnya, fragmen hidup di dalam aktivitas, dan setiap aktivitas dapat menampung banyak fragmen. Seperti halnya aktivitas, mereka memiliki siklus hidup tertentu, tidak seperti aktivitas, mereka bukan komponen aplikasi tingkat atas. Keuntungan dari fragmen termasuk penggunaan kembali kode dan modularitas (misalnya, menggunakan tampilan daftar yang sama dalam banyak kegiatan), termasuk kemampuan untuk membangun antarmuka multi-pane (kebanyakan berguna pada tablet). Kerugian utama adalah (beberapa) menambah kompleksitas. Secara umum Anda dapat mencapai hal yang sama dengan tampilan (khusus) dengan cara yang tidak standar dan kurang kuat.
sumber
Fragmen adalah bagian dari antarmuka pengguna atau perilaku aplikasi yang dapat ditempatkan dalam Aktivitas yang memungkinkan desain aktivitas yang lebih modular. Tidak akan salah jika kita mengatakan sebuah fragmen adalah semacam subaktivitas.
Berikut ini adalah poin penting tentang sebuah fragmen:
Sebuah fragmen memiliki tata letak dan perilaku sendiri dengan callback daur hidup sendiri.
Anda dapat menambah atau menghapus fragmen dalam suatu aktivitas saat aktivitas sedang berjalan.
Anda dapat menggabungkan beberapa fragmen dalam satu aktivitas untuk membangun UI multi-pane.
Sebuah fragmen dapat digunakan dalam berbagai aktivitas.
Siklus hidup fragmen terkait erat dengan siklus hidup aktivitas inangnya.
Ketika aktivitas dijeda, semua fragmen yang tersedia dalam kegiatan juga akan dihentikan.
Sebuah fragmen dapat mengimplementasikan perilaku yang tidak memiliki komponen antarmuka pengguna.
Fragmen ditambahkan ke Android API di Android 3 (Honeycomb) dengan API versi 11.
Untuk detail lebih lanjut, silakan kunjungi situs resmi, Fragmen .
sumber
Ini adalah informasi penting yang saya temukan pada fragmen:
Sumber: https://www.pluralsight.com/blog/software-development/android-fragments
sumber
Aktivitas adalah komponen layar penuh dalam aplikasi dengan bilah alat, semuanya adalah Fragmen. Satu aktivitas induk layar penuh dengan bilah alat dapat memiliki beberapa panel, halaman yang dapat digulir, dialog, dll. (Semua fragmen), yang semuanya dapat diakses dari induk dan berkomunikasi melalui induk.
Contoh:
Aktivitas A, Aktivitas B, Aktivitas C:
vs.
Kegiatan A, Fragmen 1, Fragmen 2, Fragmen 3:
sumber
Fragmen digunakan secara khusus dalam beberapa kasus seperti di mana kami ingin menyimpan laci navigasi di semua halaman kami. Anda dapat mengembang tata letak bingkai dengan fragmen apa pun yang Anda inginkan dan masih memiliki akses ke laci navigasi.
Jika Anda telah menggunakan suatu kegiatan, Anda harus menyimpan laci di semua kegiatan yang membuat kode berlebihan. Ini adalah salah satu penggunaan fragmen yang menarik.
Saya baru mengenal Android dan masih berpikir sebuah fragmen bermanfaat dengan cara ini.
sumber
Saya tahu ini sudah dibahas sampai mati, tetapi saya ingin menambahkan beberapa poin lagi:
Frag dapat digunakan untuk mengisi
Menu
dan menanganiMenuItem
klik sendiri. Dengan demikian memberikan opsi modulasi lebih lanjut untuk Aktivitas Anda. Anda dapat melakukan hal-hal ContextualActionBar dan seterusnya tanpa Aktivitas Anda mengetahuinya dan pada dasarnya dapat memisahkannya dari hal-hal dasar yang ditangani oleh Aktivitas Anda (Navigasi / Pengaturan / Tentang).Orang tua Frag dengan anak Frags dapat memberi Anda opsi lebih lanjut untuk memodulasi komponen Anda. Misalnya Anda dapat dengan mudah bertukar Frags di sekitar, meletakkan Frags baru di dalam Pager atau menghapusnya, mengatur ulang mereka. Semua tanpa Aktivitas Anda mengetahui sesuatu tentang hal itu hanya berfokus pada hal-hal tingkat yang lebih tinggi.
sumber
Fragmen hidup dalam Kegiatan dan memiliki:
Pikirkan Fragmen sebagai sub kegiatan dari aktivitas utama yang dimilikinya, tidak dapat eksis sendiri dan dapat dipanggil / digunakan kembali berulang kali. Semoga ini membantu :)
sumber
1.Tujuan menggunakan fragmen?
sumber
Sebuah fragmen hidup di dalam suatu aktivitas, sementara sebuah aktivitas hidup dengan sendirinya.
sumber