Android Parçalarını neden kullanmalıyım?


15

Bu konuyla ilgili dokümanları ve diğer soruların konularını okudum ve gerçekten ikna olmuyorum; Bu tekniğin kullanım sınırlarını açıkça göremiyorum.

Parçalar artık En İyi Uygulama olarak görülüyor ; her Etkinlik temel olarak bir veya daha fazla Parça için bir destek olmalı ve doğrudan bir düzen çağırmamalıdır.

Parçalar aşağıdakiler için oluşturulur:

  1. Activitybirçok birimi kullanmalarına izin verin, aralarında değişiklik yapmak için, bu birimleri yeniden kullanmak için ... ==> bir etkinliğin Fragmenttamamen bağımlısıdır Context, bu yüzden birçok Faaliyette yeniden kullanabileceğim ve işleyebileceğim genel bir şeye ihtiyacım olursa, kendi özel mizanpajlarımı veya Görünümlerimi oluştur ... Parçaların ekleyeceği bu Karmaşıklık Geliştirme Katmanını önemsemeyeceğim.

  2. farklı çözünürlükte daha iyi bir işlem ==> Tabletlerde aynı Faaliyette iki (veya daha fazla) parça ve telefonlarda tek tek gösterebileceğimiz uzun bir işlem durumunda tabletler / telefonlar için Tamam. Ama neden daima parçaları kullanayım ?

  3. Parçalar arasında gezinmek için geri aramalar gerçekleştirme (yani: kullanıcı Oturum Açmışsa başka bir parça gösteririm, başka bir parça gösteririm). ===> Sadece SDK-Giriş facebook kaç hata olduğunu görmek için çalışın bu nedenle, gerçekten (?) Olduğunu anlamak için ...

  4. bir Android Uygulamasının Etkinliklere dayandığını göz önünde bulundurarak ... Etkinliğe başka bir yaşam döngüsü eklemek bir Uygulama tasarlamak için daha iyi olurdu ... Yani modüller, senaryolar, veri yönetimi ve bağlantı daha iyi tasarlanacaktır. yol. ===> Bu, Android SDK ve Android Framework'ü Parçalar vizyonuyla görmek için kullanılan birinin cevabıdır. Bunun yanlış olduğunu düşünmüyorum, ancak iyi sonuçlar vereceğinden emin değilim ... Ve gerçekten soyut ...

====> Neden her zaman kullanırken daha fazla kodlayarak hayatımı daha karmaşık hale getireyim ki? Aksi halde, neden sadece bazı durumlar için bir araçsa en iyi uygulamadır? bu durumlar nedir?


1
Ne sorduğunuz belli değil, lütfen soruyu özetleyebilir misiniz, belki sözde avantajların numaralandırılmasının ve her birine yönelik eleştirinizin altında mı?
logc

Ayrıntılı bir soru ekledim.
ahmed_khan_89

@Logc gibi kayboldum. Fragmanlar olmadan bu davaları nasıl ele alırsınız?
neontapir

Parçalar olmadan ne yapacağımı verdim: (1) özel genel kontroller oluşturmak ve onları istediğim yerde yeniden kullanmak (2) 2 Etkinlik kullanarak ve startActivityForResult ile gezinmek veya görünümler arasında geçiş yapmak çok fazla kodlamadan ... (3)
Görüşlü

1
Hmm. Bu soru ve cevap, orijinal posterin "en iyi" yanıtı aldığı stackexchange tasarımının sınırlamasını gösterir. (Herkesin oy kullandığı slant.co'nun aksine.) Böyle geniş bir soru için ideal değil. Burada, belirsiz bir soru, askerin duymak istediği açıkça kabul edilen kabul edilmiş bir cevap alır. Durumunuzda fragman kullanmak için bir neden görmüyorsanız , yapmayın. Daha iyi bir soru, fragmanın aktiviteye karşı artılarını / eksilerini istemektir . Ve bu konuda çok sayıda konu var.
ToolmakerSteve

Yanıtlar:


5

Parça , bir Etkinliğin kendi yaşam döngüsüne sahip modüler bir bölümüdür, etkinlik çalışırken ekleyebileceğiniz veya kaldırabileceğiniz kendi giriş etkinliklerini alır (farklı etkinliklerde yeniden kullanabileceğiniz bir "alt etkinlik" gibi)

Farklı ekranlarda fragmanlar kullanmanın bariz avantajının yanı sıra, görünür bir kullanıcı arabirimi bileşeni olmadan etkinliğin arka plan işlemesini yönetmenizi sağlar.

Şimdi ...

====> Neden daha fazla kod yazarak hayatımı daha karmaşık hale getireyim ki?

Önerilen olsa da, tek tek öğelerin yaşam döngüsünü kontrol etmeyi ve / veya önceki görünümlerin yığın durumunu veya geçmişini yeniden kullanmayı planlamıyorsanız gerek yoktur.


5

Eğer parça kuşkucu için bir "ağ geçidi" kullanım durumu varsa, muhtemelen diyaloglardır. Uzun süredir kullanımdan kaldırılan yöntemler showDialog(...), onCreateDialog(...)vb., Barındırma etkinliği yok edildiğinde ve yeniden oluşturulduğunda çerçevenin otomatik olarak iletişim kutularınızı yok etmelerini ve yeniden oluşturmaları için onları çağırması açısından güzeldi. Kendi diyaloglarınızı doğrudan oluşturursanız, tüm bu şeyleri kendiniz yönetmeniz gerekir. Ancak a kullanırsanız DialogFragment, çerçevenin bunları sizin için yönetmesine bir kez daha izin verebilirsiniz. Bu durumda, fragmanlar kodlamanızı büyük ölçüde basitleştirebilir .


1

Bu soruyu bir yıldan fazla bir süre önce sordum.

Her gün fragman kullanıyorum ve tavsiye ederim.

Her şeyden önce, fragmanları kullanmanın sadece bir seçenek olduğunu ve bunları kullanmaya başladığınızda düşünmek için bir refleks olacağını söylemek istiyorum.

Avantajları:

1 / Tek bir Faaliyette tam akışa sahip olabileceğiniz kodu ayrı parçalarda modüle etmeye yardımcı olur. Örnek: + liste / ızgara ve detay, + giriş ve kayıt ve şifreyi unut, + vb.

2 / Doğru, ancak avantajları olan zorluklarla dolu yeni bir yaşam döngünüz var. Örnek: korunan örnek parçası harikadır çünkü yönelim sorununu çözer.

3 / Etkinliklerinizdeki olaylara ve dinleyicilere göre parçalarınızın akışını yönetebilirsiniz.

4 / Faaliyetinizdeki parçalarınızın bir yığını.

5 / birçok ekranda aynı Eylem çubuğunu kullanın.

Ve bircok digerleri...

Etkinliği bazen yalnızca kap olarak, özellikle de Kamera kasası için kullanıyorum. Bazı Android API'lerinin ve bazı üçüncü taraf kitaplıklarının parça halinde uygulanması kolay değildir.

Herhangi bir araç gibi, onu düşünmelisiniz ve bir durumda ya da başka bir durumda kullanmanın daha iyi olup olmadığını kendiniz değerlendirmelisiniz.

Umarım bu yardımcı olabilir !!!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.