Pengantar:
Pola dasar "Tutorial Fragmen" berbunyi seperti ini:
- Di tablet, ada daftar di sebelah kiri, detail di sebelah kanan.
- Keduanya
Fragments
dan keduanya berada di tempat yang samaActivity
. - Di telepon, buat daftar
Fragment
dalam satuActivity
. - Luncurkan yang baru
Activity
dengan detailnyaFragment
.
(mis. Android 3.0 Fragments API oleh Dianne Hackborn dan the Fragments API Guide )
Di kedua perangkat, fungsionalitas ada di Fragments
. (sederhana)
Di Tablet , seluruh aplikasi adalah 1Activity
, di telepon , ada banyakActivities
.
Pertanyaan:
- Apakah ada alasan untuk membagi aplikasi ponsel menjadi banyak
Activities
?
Satu masalah dengan metode ini, adalah Anda menduplikasi banyak logika di Tablet utama Activity
, dan di Telepon terpisah Activities
.
- Tidakkah akan lebih mudah untuk mempertahankan model 1 Aktivitas dalam kedua kasus, menggunakan logika yang sama untuk beralih
Fragments
masuk dan keluar (hanya menggunakan tata letak yang berbeda)?
Dengan cara ini sebagian besar logika berada di dalam Fragments
dirinya sendiri, dan hanya ada satu Activity
- lebih sedikit duplikasi kode.
Juga apa yang saya baca tentang ActionBarSherlock
itu tampaknya bekerja paling baik dengan Fragments
bukan Activities
(tapi saya belum bekerja dengannya).
Apakah tutorialnya terlalu disederhanakan, atau sudahkah saya melewatkan sesuatu yang utama dalam pendekatan ini?
Kami telah mencoba kedua pendekatan dengan sukses di kantor - tetapi saya akan memulai proyek yang lebih besar dan ingin membuat semuanya semudah mungkin bagi diri saya sendiri.
Beberapa tautan ke pertanyaan terkait:
- Dilema: kapan harus menggunakan Fragmen vs Aktivitas:
- Pola kapan menggunakan Transisi Aktivitas vs Fragmen Dinamis
- Android - Saya perlu klarifikasi fragmen vs aktivitas dan tampilan
- Aktivitas atau fragmen di Android?
- Beberapa fragmen dan desain interaksi kegiatan
- Jadi apa saja keunggulan Fragmen di Android 3.0?
Pembaruan
Mulai karunia pada pertanyaan - masih tidak yakin tentang mengapa saya perlu menduplikasi logika aplikasi saya di aktivitas tablet saya dan di setiap aktivitas ponsel.
Juga menemukan artikel yang menarik oleh orang-orang di Square, yang layak dibaca:
onItemSelected()
metode dalam Aktivitas. Di aplikasi "asli" saya, saya punya banyak daftar & sublists. Pola ini menunjukkan bahwa Aktivitas Tab saya harus memiliki onItemSelected()
metode untuk menangani masing-masing daftar. Ditambah Aktivitas Telepon masing-masing harus memiliki logika yang sama digandakan di dalam masing-masing. IMHO itu jauh lebih baik untuk menempatkan logika Item Selected ke masing-masing Fragmen - tidak ada duplikasi dan saya lebih suka cara penataan kode. Saya harap ini membantu