14
Dilemma: เมื่อใดควรใช้ Fragments vs Activities:
ฉันรู้แล้ว Activitiesได้รับการออกแบบมาเพื่อแสดงหน้าจอเดียวของแอปพลิเคชันของฉันในขณะที่Fragmentsได้รับการออกแบบให้เป็นรูปแบบ UI ที่ใช้ซ้ำได้โดยมีตรรกะฝังอยู่ภายใน เมื่อไม่นานมานี้ฉันได้พัฒนาแอปพลิเคชั่นตามที่กล่าวไว้ว่าพวกเขาควรได้รับการพัฒนา ฉันสร้างActivityเพื่อเป็นตัวแทนของหน้าจอของแอพลิเคชันและเศษมือของฉันหรือViewPager Google Mapsฉันไม่ค่อยสร้างListFragment UI หรืออื่น ๆ ที่สามารถนำมาใช้ซ้ำได้หลายครั้ง เร็ว ๆ นี้ผมสะดุดในโครงการที่มีเพียง 2 Activitiesหนึ่งเป็นและอีกหนึ่งคือSettingsActivity MainActivityเลย์เอาต์ของMainActivityบรรจุด้วยแฟรกเมนต์ UI แบบเต็มหน้าจอที่ซ่อนอยู่จำนวนมากและแสดงเพียงหนึ่งอันเท่านั้น ในActivityตรรกะมีหลายFragmentTransitionsหน้าจอที่แตกต่างกันของแอปพลิเคชัน สิ่งที่ฉันชอบเกี่ยวกับวิธีการนี้คือเนื่องจากแอปพลิเคชันใช้ActionBarมันมันยังคงอยู่และไม่ย้ายไปอยู่กับภาพเคลื่อนไหวการสลับหน้าจอซึ่งเป็นสิ่งที่เกิดขึ้นกับการActivityสลับ สิ่งนี้ให้ความรู้สึกที่คล่องแคล่วยิ่งขึ้นสำหรับการเปลี่ยนหน้าจอ ดังนั้นฉันเดาว่าสิ่งที่ฉันขอคือการแบ่งปันลักษณะการพัฒนาในปัจจุบันของคุณเกี่ยวกับหัวข้อนี้ฉันรู้ว่ามันอาจดูเหมือนคำถามตามความเห็นในตอนแรก แต่ฉันมองว่ามันเป็นคำถามที่เกี่ยวกับการออกแบบและสถาปัตยกรรมของ Android ... ตามความเห็นอย่างหนึ่ง UPDATE (01.05.2014): ทำตามการนำเสนอนี้โดยEric BurkeจากSquare (ซึ่งฉันต้องบอกว่าเป็นการนำเสนอที่ยอดเยี่ยมพร้อมเครื่องมือที่มีประโยชน์มากมายสำหรับนักพัฒนา Android และฉันไม่เกี่ยวข้องกับ Square) http://www.infoq.com/presentations/Android-Design/ จากประสบการณ์ส่วนตัวของฉันในช่วงไม่กี่เดือนที่ผ่านมาผมพบว่าวิธีที่ดีที่สุดในการสร้างการใช้งานของฉันคือการสร้างกลุ่มของชิ้นส่วนที่มาเป็นตัวแทนของการไหลActivityในการประยุกต์และนำเสนอชิ้นส่วนเหล่านั้นทั้งหมดในหนึ่ง ดังนั้นโดยทั่วไปคุณจะมีจำนวนActivitiesใบสมัครของคุณเท่ากับจำนวนการไหล ด้วยวิธีนี้แถบแอ็คชั่นยังคงเหมือนเดิมบนหน้าจอทั้งหมดของโฟลว์ ในขณะที่ Eric Burke กล่าวและฉันก็ตระหนักเช่นกันปรัชญาของการใช้น้อยActivitiesที่สุดไม่สามารถใช้ได้กับทุกสถานการณ์เพราะมันสร้างความสับสนในสิ่งที่เขาเรียกว่ากิจกรรม "พระเจ้า"