tanıtım:
Temel "Parça Öğreticisi" modeli şu şekildedir:
- Tablette, solda, sağda ayrıntılar içeren bir liste bulundurun.
- Her
Fragments
ikisi de aynıdırActivity
. - Telefonda bir listede bir liste
Fragment
bulunActivity
. Activity
Ayrıntılar ile yeni bir tane başlatınFragment
.
(ör . Dianne Hackborn tarafından Android 3.0 Fragments API ve Fragments API Guide )
Her iki cihazda da işlevsellik Fragments
. (basit)
On Tablet , tüm uygulama 1Activity
tarihinde, telefonda vardır birçokActivities
.
Sorular:
- Telefon uygulamasını birçok kişiye bölmenin bir nedeni var mı
Activities
?
Bu yöntemle ilgili bir sorun , ana Tablette ve ayrı Telefonda mantığın çoğunu çoğaltmanızdır .Activity
Activities
- Her iki durumda da 1 Etkinlik modelini tutmak ve aynı anahtarlama mantığını
Fragments
kullanarak (sadece farklı bir düzen kullanarak) daha kolay olmaz mıydı?
Bu şekilde mantığın çoğu Fragments
kendi içlerinde bulunur ve Activity
kodun tek bir daha az çoğaltılması vardır.
Ayrıca hakkında okudum ne yerine ActionBarSherlock
ile en iyi çalışmak gibi görünüyor (ama ben henüz onunla çalışmadım).Fragments
Activities
Eğiticiler aşırı basitleştirilmiş mi, yoksa bu yaklaşımda önemli bir şeyi kaçırdım mı?
Her iki yaklaşımı da ofiste başarıyla denedik - ama daha büyük bir projeye başlamak üzereyim ve işleri kendim için olabildiğince kolaylaştırmak istiyorum.
İlgili sorulara bazı bağlantılar:
- İkilem: Fragmanlar ve Etkinlikler ne zaman kullanılır:
- Etkinlik Geçişine karşılık Dinamik Parçalar ne zaman kullanılacağına ilişkin desenler
- Android - Parçaların etkinliklere ve görünümlere karşı bazı açıklamalarına ihtiyacım var
- Android'deki etkinlikler veya fragmanlar?
- Çoklu fragman ve aktivite etkileşimi tasarımı
- Peki, Android 3.0'daki Fragments'ın kesin avantajları nelerdir?
Güncellemeler
Söz konusu ödül kazanmaya başladı - hala tablet etkinliğimde ve her telefon etkinliğinde uygulama mantığımı neden çoğaltmam gerektiğine ikna olmadım.
Ayrıca Square'de çocuklar tarafından okunmaya değer ilginç bir makale bulundu:
onItemSelected()
Faaliyette yöntem sahibi olmama katılmıyorum . Benim "gerçek" app, birçok liste ve alt listeler var. Bu kalıp, Sekme Etkinliğimin onItemSelected()
listelerin her birini işlemek için bir yöntemi olması gerektiğini önerir . Ayrıca, Telefon Etkinlikleri'nin her birinde aynı mantığın her biri içinde kopyalanmış olmalıdır. IMHO her bir parçaya öğe seçilen mantık koymak çok daha iyidir - çoğaltma yoktur ve ben kodu yapılandırmak için bu şekilde tercih ederim. Umarım bu yardımcı olur