Oluşturduğunuz uygulamaya bağlıdır. Her iki yaklaşımı kullanarak birkaç uygulama oluşturdum ve bir yolun her zaman diğerinden daha iyi olduğunu söyleyemem. Oluşturduğum son uygulama tek bir Activity
yaklaşım ve bir Facebook tarzı navigasyon kullandım. Gezinme listesinden öğe seçerken, Fragment
bu bölümü görüntülemek için tek bir kapsayıcıyı güncelleştiriyorum .
Bununla birlikte, tek bir kişiye sahip olmak Activity
da birçok karmaşıklık getiriyor. Bir düzenleme formunuz olduğunu ve kullanıcının seçmesi veya oluşturması gereken bazı öğeler için yeni bir ekrana gitmelerini gerektirdiğini varsayalım. Faaliyetler ile yeni ekranı çağırırız, startActivityForResult
ancak Fragments
böyle bir şey yoktur, böylece değeri Activity
depolarsınız ve ana düzenleme parçasının Activity
verilerin seçilip seçilmediğini ve kullanıcıya gösterilmesi gerektiğini kontrol edin .
Aravind'in tek bir Activity
türe yapışması hakkında söyledikleri de doğrudur, ancak bu sınırlayıcı değildir. Etkinliğiniz bir FragmentActivity olacaktır ve ihtiyacınız MapView
olmadığı sürece gerçek bir sınırlama yoktur. Haritaları görüntülemek istiyorsanız, yapılabilir, ancak herkese açık olan android-support-v4-googlemaps'iFragmentActivity
genişletmek MapActivity
veya kullanmak için Android Uyumluluk Kitaplığı'nı değiştirmeniz gerekir .
Nihayetinde bir Activity
rotaya gittiğini biliyorum devs çoğu kodlarını basitleştirmek için birden fazla Faaliyet geri döndü. UI akıllıca, bir tablette, Activity
tasarımcılarınızın ortaya çıkardığı çılgın etkileşimi elde etmek için bazen tek bir tane kullanıyorsunuz :)
-- DÜZENLE --
Google nihayet MapFragment
uyumluluk kütüphanesine yayınlandı , böylece artık android-support-v4-googlemaps kesmek kullanmanıza gerek yok. Güncelleme hakkında buradan bilgi edinin: Google Maps Android API v2
- DÜZENLEME 2 -
Modern (2017) parçaların durumu hakkındaki bu harika gönderiyi okudum ve bu eski cevabı hatırladım. Paylaşacağımı düşündüm: Parçalar: Android'in Tüm Sorunlarına Çözüm