บทที่ 17 – สร้างแอพ Pomodoro
คุณสมบัติของแอพ
ในบทนี้ จะสอนสร้างแอพ Pomodoro ซึ่งเป็นเครื่องตั้งเวลาเพื่อช่วยให้โฟกัสกับงานตามหลักการ Pomodoro โดยแอพนี้จะใช้คอมโพเนนต์ Clock ในการจับเวลาการทำงาน และการพักพร้อมกับสาธิตการสร้างแอพที่มีหลายสกรีน รวมทั้งสอนเทคนิคในการใช้ VerticalArrangement มาสร้างให้แอพเหมือนมีหลายสกรีน ทั้งๆ ที่อยู่ใน Screen1
นอกจากนี้ ยังสอนใช้ TinyDB ซึ่งเป็นคอมโพเนนต์ในการจัดเก็บข้อมูลไว้ในแอพ มาใช้เก็บค่าเซตติ้งต่างๆ ของแอพเอาไว้ด้วย
คอมโพเนนต์ที่กล่าวถึง
- Clock ในบทนี้ ใช้เป็น Timer เพื่อจับเวลาการทำงาน 25 นาที และการพัก 5 นาที เมื่อหมดเวลาที่ตั้งไว้ ก็จะเกิดอีเวนต์ Timer ขึ้น
- VerticalArrangement ในบทนี้ จะสอนเทคนิคที่ใช้ VA ทำหน้าที่เหมือนเป็นสกรีนหนึ่ง แล้วใช้บล็อก set Visible เพื่อแสดงหรือซ่อนแต่ละ VA เหมือนเป็นการเปิด-ปิดสกรีนนั่นเอง
- TinyDB เป็นพื้นที่เก็บข้อมูลต่างๆ ซึ่งจะอยู่ในแอพ ไม่สามารถเปิดดูข้อมูลจากแอพอื่น ในบทนี้ จะใช้ TinyDB ในการเก็บค่าเวลาต่างๆ จากสกรีน Settings
- Sound ในบทนี้ ใช้สั่นเครื่องเมื่อหมดเวลาแต่ละช่วงทำงาน และช่วงพัก
บล็อกที่สำคัญ
- set TimerEnabled ใช้สั่งให้ Timer เริ่มหรือหยุด จับเวลา
- Sound Vibrate ใช้สั่งให้สั่นอุปกรณ์
- BackPressed เป็นอีเวนต์ที่เกิดขึ้นเมื่อผู้ใช้กดปุ่ม back บนเครื่อง
- open another screen ใช้เปิดสกรีนอื่น ตามชื่อสกรีนที่กำหนด
- close screen ใช้ปิดสกรีน แล้วกลับไปทำงานต่อยังสกรีนก่อนหน้าที่สั่งให้เปิดสกรีนนี้ขึ้นมา
- TinyDB GetValue ใช้อ่านข้อมูลที่เก็บไว้ใน TinyDB โดยระบุชื่อ tag ของข้อมูลที่ต้องการ
- TinyDB StoreValue ใช้เก็บข้อมูลลงใน TinyDB โดยจะต้องระบุชื่อ tag และข้อมูลที่จะเก็บ
- HideKeyboard เป็นคำสั่งให้ซ่อนคีย์บอร์ด
ความรู้อื่นๆ
- ความรู้เกี่ยวกับหลักการ Pomodoro
- เทคนิคการใช้ VerticalArrangement มาทำหน้าที่เหมือนเป็นสกรีน
- การออกแบบหน้าตาของแอพ ให้เปลี่ยนแปลงได้เสมือนมีหลายๆ สกรีน
- การสร้างแอพที่มีหลายสกรีน ซึ่งมีรายละเอียดที่ต้องรู้ไว้ ดังนี้
- แอพจะเริ่มทำงานที่ Screen1 เสมอ
- Screen1 มี properties ต่างๆ ที่เป็นคุณสมบัติของแอพ แต่สกรีนอื่นๆ จะไม่มี
- สามารถเพิ่มสกรีนได้ แต่ไม่ควรเกิน 10 สกรีนต่อ project
- สามารถลบสกรีนที่เพิ่มเข้าไปได้ แต่ไม่สามารถลบ Screen1 ได้
- ไม่สามารถเปลี่ยนชื่อสกรีน หรือก็อปปี้สกรีนได้
- การทำงานของแต่ละสกรีนแยกกันเด็ดขาด ไม่สามารถใช้ตัวแปร, คอมโพเนนต์ และ code ข้ามสกรีน
- สั่งเปิดสกรีนด้วยบล็อก open another screen หรือ open another screen with start value
- สั่งปิดสกรีนด้วยบล็อก close screen หรือ close screen with value
- ในระหว่างทดสอบแอพที่มีหลายสกรีนด้วยแอพ MIT AI2 Companion หรือ Thunkable Live แอพอาจทำงานช้า เนื่องจากต้องเปลี่ยนสกรีนไปมา
Comments
Post a Comment