บทนำ:
รูปแบบ "การสอน Fragments" พื้นฐานมีลักษณะดังนี้:
- บนแท็บเล็ตมีรายการทางด้านซ้ายรายละเอียดด้านขวา
- ทั้งสอง และอาศัยทั้งในแบบเดียวกัน
Fragments
Activity
- บนโทรศัพท์มือถือที่มีรายชื่อในหนึ่ง
Fragment
Activity
- เปิดตัวใหม่มีรายละเอียด
Activity
Fragment
(เช่นAndroid 3.0 Fragments API โดย Dianne Hackbornและคู่มือFragments API )
Fragments
ในอุปกรณ์ทั้งสองทำงานอยู่ใน (แบบง่าย)
บนแท็บเล็ตแอปทั้งหมดเป็น1Activity
ในโทรศัพท์มีจำนวนมากActivities
คำถาม:
- มีเหตุผลที่จะแยกแอพโทรศัพท์ออกเป็นจำนวนมาก
Activities
หรือไม่?
หนึ่งปัญหาด้วยวิธีนี้คือการที่คุณซ้ำกันจำนวนมากของลอจิกในแท็บเล็ตหลักและในโทรศัพท์ที่แยกต่างหากActivity
Activities
- จะง่ายกว่าไหมถ้าจะคงรูปแบบ 1 กิจกรรมไว้ในทั้งสองกรณีโดยใช้ตรรกะเดียวกันในการสลับ
Fragments
เข้าและออก (ใช้รูปแบบที่แตกต่างกัน)
วิธีนี้ตรรกะส่วนใหญ่อยู่ในFragments
ตัวของมันเองและมีการActivity
ทำสำเนารหัสเพียงครั้งเดียวน้อยลง
สิ่งที่ฉันได้อ่านเกี่ยวกับสิ่งActionBarSherlock
ที่ดูเหมือนว่าจะทำงานได้ดีที่สุดด้วยFragments
แทนที่จะเป็นActivities
(แต่ฉันยังไม่ได้ทำงานด้วย)
แบบฝึกหัดเกินความจริงหรือฉันพลาดสิ่งสำคัญในแนวทางนี้หรือไม่?
เราได้ลองทั้งสองวิธีในสำนักงานเรียบร้อยแล้ว - แต่ฉันกำลังจะเริ่มโครงการที่ใหญ่กว่าและต้องการทำสิ่งต่าง ๆ ให้ง่ายที่สุดสำหรับตัวเอง
ลิงก์ไปยังคำถามที่เกี่ยวข้อง:
- Dilemma: เมื่อใดควรใช้ Fragments vs Activities:
- รูปแบบเวลาที่จะใช้ Activity Transition กับ Dynamic Fragments
- Android - ฉันต้องการความกระจ่างของชิ้นส่วนและกิจกรรมและมุมมอง
- กิจกรรมหรือชิ้นส่วนใน Android?
- การออกแบบปฏิสัมพันธ์และกิจกรรมหลายส่วน
- ดังนั้นข้อดีของ Fragments ใน Android 3.0 คืออะไร?
อัพเดท
เริ่มจ่ายเงินตามคำถาม - ยังไม่มั่นใจว่าทำไมฉันต้องทำซ้ำตรรกะแอพของฉันในกิจกรรมแท็บเล็ตของฉันและในแต่ละกิจกรรมโทรศัพท์
พบบทความที่น่าสนใจโดยผู้ชายที่ Square ซึ่งน่าอ่านดี:
onItemSelected()
วิธีการในกิจกรรม ในแอป "ของจริง" ของฉันฉันมีรายการ & รายการย่อยมากมาย รูปแบบนี้แสดงให้เห็นว่ากิจกรรมแท็บของฉันต้องมีonItemSelected()
วิธีจัดการแต่ละรายการ นอกจากนี้กิจกรรมทางโทรศัพท์แต่ละคนจะต้องมีตรรกะเดียวกันที่ซ้ำกันภายในแต่ละกิจกรรม IMHO เป็นการดีกว่ามากที่จะใส่ตรรกะการเลือกรายการลงในแต่ละส่วน - ไม่มีการทำซ้ำและฉันชอบวิธีการสร้างรหัสนั้น ฉันหวังว่านี่จะช่วยได้