SORU
12 Kasım 2013, Salı


Faaliyetlere karşı Parça iç İçe Parçalara ayırması ya da değil. Neden birden fazla Aktivite kullanmalıyım?

Activities Fragmentskullanmanız gerekir olup olmadığı hakkında tartışmalar var. Örneğin:

Buldum tartışmaların çoğu Android 4.2 önce serbest bırakıldı.
Android 4.2 Google nested Fragments icat etti.

Bu nedenle aslında birden fazla Activity kullanmak için herhangi bir sebep göremiyorum artık.

Fragments erken aşamada desteklemek için kullanılan Uygulamalar içinde olmaları gerekiyorduTabletveAkıllı telefonlaraynı zamanda rahat bir şekilde.

Örneğin bir detay View açık olan ListView bir öğe üzerinde bir böylece. Akıllı telefonlar ListView değiştir View ayrıntılı göstermek istiyoruz. OysaTabletayrıntı içeren Listeyi değiştirmek yerine Görünüm, aynı zamanda Views de gösterebilir.


Şimdi Fragments iç içe olan diğer bir çok şey olabilir. Bir tek kullanmak isterseniz Activity, Activity genel bilgi deposu olabilir Fragment her şey için erişim olurdu.

İç içe olan bu, Fragments *ayrıca 14* de çocuklarını Fragments için bilgi deposu.

Fragments kolayca ** 17, ben aynı zamanda 18 ** Bir yıldan daha uzun yeniden ve çok rahat Fragment bir iletişim formu. Bu bana muhtemelen kopyala & yapıştır eylemleri daha alırdı.

Eğer Activities yerine kullanmak eğer gerçekten bu işi halletmek için bir çok şey değişmek zorunda.


Geçenlerde bir hayataUygulamanerede ben kolayca iki Fragment-ViewPager şeyler gerçekten çok güzel ve dinamik (bir tür: günümüz Bilgi - Dünkü Bilgi) almak için kullanabilirsiniz. Fragments hayatımız bir yol daha kolay :) benim görüşüme göre


Soru:

  • Neden 23 ** birden fazla kullanabilir miyim?

Birden çok kullanımı Activities Fragments kullanmak yerine daha mantıklı iyi bir örnek verebilir misiniz?

  • Activities kullanmak için başka şansın yok ama iyi örnekleri var mı?

Büyük çerçeveler çoğu gibi düşünüyorumHaritalar,YouTubeve co zaten Fragments destek. Activities güvenmek zorunda değiliz. Ayrıca çok kolay Fragments kullandıysanız*, , *, *32TabHosts*31NavigationBar ile başa çıkmak için.

CEVAP
19 Kasım 2013, Salı


Öncelikle, büyük bir uygulama, sadece tek bir faaliyet ve iç içe geçmiş parçaları kullanarak yazmak mümkün olduğunu kabul edeceğim. Bu yazılım eğlenceli - aynı işlevi yaklaşımlar çeşitli kullanarak elde edebilirsiniz. Benim için, birden çok aktiviteleri kullanmak için seçim sarma, tekrar kullanılabilirlik, test edilebilirlik için kişisel tercihlerim aşağı gelir.

Eğer diğer uygulamalarda yeniden kullanılabilir bir widget varsa, bunun bir Parçası olun. Örneğin, uygulamam "sunucu ile senkronize" düğmesini tıklayın ve İlerleme çubuğu görsel olarak eşitleme işlemi göstermek için kullandığı özel bir Parça oluşturdum. bir özellikleri Kolay bir uygulama bu widget kullanmak için güçlü olmak hayal değil, bir Parçası olarak geliştirilen bu yüzden.

Eğer görevlerimi uygulaması içinde, yeni görev kavramsal olarak bir önceki görev bağımsız gibi geçiş yapıyorum, o zaman yeni bir aktivite kullanıyorum. Örneğin, benim app ilk sayfasında size bir kullanıcı seçmek için sorar. Bir kullanıcı tıkladığınız anda, Bu kullanıcı için ana menüye geri gönderiyorum. Kullanıcı için bu ana menü yeni bir aktivite görüntüleniyor.

Şimdi büyük ve karmaşık bir uygulama düşünün, ve geliştirici ekibi bu app geliştirmek için tasarlanmıştır. Eğer app ayrı faaliyetleri ayrılabilir, kavramsal olarak görevleri bölmek için çok kolay. Her aktivite kendi sanal, paralel geliştirme basit ve birim test edilebilir. Eğer herhangi bir ortak ihtiyaçları varsa, takım hala Parçaları geliştirmek ve onları yeniden gerekir, elbette. Kodu yeniden yeterince sık yazılım geliştirme gerçekleşmediği eklemek gerekir, ama eğer doğru yapılırsa, yeniden Parçaları bir sürü olmalı.

Şimdi uygulamayı test etmek için zamanı geldi sanırım. Test ekibi kendi kara kutu gibi her aktivite tedavi edebilir. Bu, tek bir aktivite üzerinde kullanan tek büyük bir app ve iç içe geçmiş parçaları ton daha test etmek daha kolaydır. Bu eğer bir hata varsa, bu özellikle önemlidir. Eğer bir hata belli olmayan varsa, en azından hata kapsamında tek bir aktivite birçok sınırlı olduğunu biliyorum.

Özet olarak, benim tahminim bir birey olarak uygulama geliştirmeye olmasıdır, ve bu nedenle gelişme kararlarınızı başka kimseyi etkilemez. Sizin bakış büyük olasılıkla, eğer daha büyük bir ekip ile bir uygulama geliştirme olsaydın değiştirmek istiyorsunuz, ve cevabım bu ışıkta çok mantıklı umarım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • stewmurray47

    stewmurray47

    1 Kasım 2006