Faaliyetlere karşı Parça iç İçe Parçalara ayırması ya da değil. Neden birden fazla Aktivite kullanmalıyım?
Activities
Fragments
kullanmanız gerekir olup olmadığı hakkında tartışmalar var.
Örneğin:
- To-Fragment-or-not-to-Fragment
- One Activity and all other Fragments
- How many Activities vs. Fragments
- Use Activity or Fragment in Android Application
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
Ö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.
Neden Objective-C metot adı son bölümü...
Neden alfabesi bu C kodunda birden faz...
Çalışan birden fazla aynı anda mümkün ...
Yabancı anahtar kısıtlaması devir veya...
&; Kullanarak " " birden fazla ka...