17 พ.ย. 2557

The Android 3.0 Fragments API





คำศัพท์ที่ใช้อ้างอิงในบทความนี้
Phone = อุปกรณ์มือถือ
Teblet =  อุปกรณ์แท็ปเล็ต 

Fragments API 

     Android 3.0 ขึ้นไปเท่านั้นที่สามารถใช้เจ้าตัวนี้ได้ ซึ่งตัว Fragments มีขึ้นมาเพื่อช่วยจัดการ Multi-Screen (scale-cross) และแก้ปัญหาพื้นที่ว่างบนอุปกรณ์ Teblet  ..

     ซึ่งปรกติเราเขียนแอพ ฯ เราต้องการให้ Phone แสดงแบบนี้ Teblet แสดงแบบนั้น ถ้าเขียนธรรมดาเขียนคงทำไม่ได้แน่ ดังนั้นวิธีแก้ปัญหาพื้นที่ว่างบนอุปกรณ์ที่มี Scale ต่างกันอย่าง Phone และ Teblet
..Fragments คือคำตอบครับ..

Fragments คือ ตัวโมดูลชนิดหนึ่งมี Life Cycle ของมันเองคล้ายกับ Activity Life Cycle...
Fragments จะทำงานก็ต่อเมื่อถูกเรียกใช้งาน..
...แต่ความพิเศษของ Fragments Life Cycle คือมันยืดหยุ่นกว่า รองรับการทำงานหลายหน้าจอ   
สำหรับบทความนี้จะขอพูดโดยรวม ก่อนก็แล้วกัน เพื่อให้ได้เห็นภาพอย่างแจ่มแจ้ง...

จากภาพนี้ อธิบายภาพรวมระหว่าง Teblet และ Phone (handset) 
เริ่มจาก Teblet รูปฝั่งซ้าย เมื่อแอพ ฯ ถูกรันขึ้นมา จะพบว่า มี 2 ส่วน 

ส่วนแรก กรอบเขียว ใช้งาน Fragment A  ทำหน้าที่เป็นเมนู (List) 
เมื่อผู้ใช้กดที่เมนูใด ให้ค่าของส่วนที่สองเปลี่ยนแปลง

ส่วนที่สอง กรอบฟ้า ใช้งาน Fragment B ทำหน้าที่เป็นตัวแสดงรายละเอียดเกี่ยวกับเมนูนั้น (Display)
เมื่อผู้ใช้กดเมนูใด ค่าจะถูกส่งผ่านตัวกลาง จากนั้น ข้อมูลจะถูกส่งต่อมาอีกครั้งไปยัง  Fragment B 
Fragment B เมื่อได้ ค่าของเมนูมา ก็จะแสดงเฉพาะส่วนเมนูนั้น ขึ้นมา

และรูปฝั่งขวาคือ Phone หน้าแรกจะแสดงแค่ Fragment A เมื่อกดเมนูใด ๆ Fragment B จะมาแทนที่

โดยที่ Fragment A และ Fragment B จะอยู่ภายใต้ MainActivity อีกทีหนึ่ง ไปดูอีกสักตัวอย่างจริง

  • ตัวอย่างเมื่อเปิด แอพฯ​ บน Phone
  • เมื่อผู้ใช้ กด เมนู ใด ๆ  ค่าหน้า ที่สอง ก็จะเปลี่ยนแปลงไปด้วย เป็นต้น 

=> 



  •  ตัวอย่างเมื่อเปิดแอพ ฯ​ บน Teblet 10"


บทความหน้าคงเจาะลึกขึ้นมาอีก ตัวกลาง Interface การทำ Polymophism
เรื่องของ Fragments จะไปทางแนว Object-Orianted Programming ซึ่งจริง ๆ Java ก็แนว OOP อยู่แล้ว
หากใครยังอ่อนเรื่องนี้ ต้องติดตาทบทความต่อ ๆ ไป ลงลึกจะเข้าใจกว่านี้
..สำหรับบทความนี้ ฝันดีกันทุกคน..


ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Ads Inside Post

-