ขึ้นอยู่กับแอพที่คุณกำลังสร้าง ฉันสร้างแอพหลายตัวโดยใช้ทั้งสองวิธีและไม่สามารถบอกได้ว่าวิธีใดวิธีหนึ่งดีกว่าแอพอื่นเสมอ แอพล่าสุดที่ฉันสร้างขึ้นฉันใช้Activityวิธีการเดียวและการนำทางสไตล์ Facebook เมื่อเลือกรายการจากรายการการนำทางฉันอัปเดตFragmentคอนเทนเนอร์เดียวเพื่อแสดงส่วนนั้น
ที่กล่าวว่ามีหนึ่งActivityยังแนะนำซับซ้อนมากมาย สมมติว่าคุณมีแบบฟอร์มแก้ไขและสำหรับบางรายการที่ผู้ใช้ต้องเลือกหรือสร้างต้องการให้ไปที่หน้าจอใหม่ ด้วยกิจกรรมที่เราเพิ่งจะเรียกหน้าจอใหม่ด้วยstartActivityForResultแต่Fragmentsไม่มีสิ่งนั้นดังนั้นคุณจบลงด้วยการเก็บค่าในActivityและมีชิ้นส่วนแก้ไขหลักตรวจสอบActivityเพื่อดูว่าข้อมูลที่ได้รับการเลือกและควรจะแสดงให้ผู้ใช้
สิ่งที่ Aravind พูดเกี่ยวกับการติดอยู่กับActivityประเภทเดียวก็เป็นความจริง แต่ก็ไม่ได้ จำกัด อยู่แค่นั้น กิจกรรมของคุณจะเป็นแบบ FragmentActivity และตราบใดที่คุณไม่จำเป็นต้องMapViewมีข้อ จำกัด ใด ๆ หากคุณไม่ต้องการที่จะแสดงผลแผนที่ แต่ก็สามารถทำได้ แต่คุณจะต้องปรับเปลี่ยนทั้งห้องสมุด Android เข้ากันได้ที่จะมีการFragmentActivityขยายMapActivityหรือใช้ที่มีต่อสาธารณชนหุ่นยนต์สนับสนุน v4-googlemaps
ในที่สุด devs ส่วนใหญ่ที่ฉันรู้ว่าการไปตามActivityเส้นทางเดียวได้กลับไปที่หลาย ๆ กิจกรรมเพื่อทำให้โค้ดของพวกเขาง่ายขึ้น UI ฉลาด, บนแท็บเล็ต, บางครั้งคุณก็ติดอยู่กับการใช้งานActivityเพียงครั้งเดียวเพื่อให้ได้สิ่งที่บ้าคลั่งที่นักออกแบบของคุณสร้างขึ้นมาด้วย :)
- แก้ไข -
Google ได้เปิดตัวMapFragmentห้องสมุดความเข้ากันได้ในที่สุดดังนั้นคุณไม่จำเป็นต้องใช้แฮ็ค android-support-v4-googlemaps อีกต่อไป อ่านเกี่ยวกับการอัปเดตได้ที่นี่: Google Maps Android API v2
- แก้ไข 2 -
ฉันเพิ่งอ่านโพสต์ที่ยอดเยี่ยมเกี่ยวกับสถานะของชิ้นส่วนที่ทันสมัย (2017) และจดจำคำตอบเก่านี้ คิดว่าฉันจะแบ่งปัน: Fragments: ทางออกสำหรับปัญหาทั้งหมดของ Android