บทที่ 16 - สร้างแอพนับจำนวนก้าว (Pedometer)

คุณสมบัติของแอพ

ในบทนี้ จะสอนใช้คอมโพเนนต์ Pedometer มาสร้างแอพนับจำนวนก้าวเดิน, ระยะทาง (เมตร), ระยะเวลาตั้งแต่เริ่มเดิน โดยมีปุ่ม Start, Stop, Pause และ Resume สำหรับควบคุมการทำงานของแอพ มีปุ่ม Settings เพื่อกำหนดระยะทางต่อก้าว (Stride Length) และที่พิเศษ คือ แอพนี้มีการบันทึกข้อมูลเก็บไว้ในแอพด้วย ดังนั้น แม้ปิดแอพไปแล้ว เมื่อเปิดแอพขึ้นมาใหม่ ข้อมูลเดิมที่บันทึกไว้ ก็จะปรากฎขึ้นมา หากเราต้องการเริ่มใหม่ ก็สามารถรีเซตได้

คอมโพเนนต์ที่กล่าวถึง

  • Pedometer เป็นเซ็นเซอร์สำหรับนับจำนวนก้าวเดิน ระยะทาง และระยะเวลาที่ก้าวเดิน
  • Clock ในบทนี้ ใช้เป็นทั้งนาฬิกาที่บอกเวลา และวันที่ปัจจุบัน และใช้เป็นนาฬิกาจับเวลา หรือ timer ด้วย
    ซึ่งหมายความว่า เราสามารถตั้งคาบเวลาไว้ใน property TimeInterval เมื่อเวลาผ่านไปจนครบคาบเวลาที่กำหนด ก็จะเกิดอีเวนต์ Timer ขึ้น

Properties ที่สำคัญ

คอมโพเนนต์ Pedometer มี properties ที่ต้องกำหนดในหน้า Designer ดังนี้
  • StopDetectionTimeout ใช้กำหนดระยะเวลา (หน่วยเป็น millisecond) หากผู้ใช้อยู่นิ่งเกินกว่าเวลาที่กำหนดนี้ ก็จะถือว่า หยุดเคลื่อนที่
  • StrideLength ใช้กำหนดระยะทางต่อหนึ่งก้าว
ในส่วนของคอมโพเนนต์ Clock ในบทนี้ เราใช้เป็น timer จึงต้องกำหนด properties ต่อไปนี้
  • TimeEnable ให้คลิ้กถูกหน้าช่องนี้ เพื่อให้ timer เริ่มทำงาน
  • TimeInterval ใช้กำหนดคาบเวลาที่จะจับเวลา หน่วยเป็น millisecond
  • TimerAlwaysFires ให้คลิ้กถูกหน้าช่องนี้ เพื่อให้ timer ทำงานตลอดเวลา แม้ว่าขณะนั้น ผู้ใช้จะกำลังใช้แอพอื่นอยู่ แต่หากไม่คลิ้กถูกไว้ timer ก็จะทำงานเฉพาะตอนที่แอพนี้ ทำงานอยู่ข้างหน้าเท่านั้น
  • Timer เป็นอีเวนต์ที่เกิดขึ้นเมื่อครบคาบเวลาที่กำหนดไว้ใน TimeInterval

บล็อกที่สำคัญ

  • PedometerStart เป็นการสั่งให้เริ่มนับก้าว
  • PedometerStop เป็นการสั่งให้หยุดนับก้าว
  • PedometerPause เป็นการสั่งให้หยุดนับก้าวชั่วคราว
  • PedometerResume เป็นการสั่งให้กลับมาเริ่มนับต่อ
  • PedometerReset เป็นการรีเซตข้อมูลการเดินทั้งหมดให้เป็นศูนย์
  • PedometerSave เป็นการบันทึกข้อมูลการเดินเก็บไว้ในแอพ
  • when WalkStep เป็นอีเวนต์ที่เกิดขึ้นเมื่อเซ็นเซอร์ตรวจจับได้ว่า มีการก้าวเดิน ซึ่งจะต่างจากอีเวนต์ when SimpleStep ซึ่งจะนับการก้าวย่ำเท้าอยู่กับที่ด้วย
  • WalkSteps บล็อกนี้เก็บจำนวนก้าวเดิน
  • Distance บล็อกนี้เก็บค่าระยะทาง หน่วยเป็นเมตร
  • ElapsedTime บล็อกนี้เก็บระยะเวลาที่เดิน หน่วยเป็น millisecond
  • set StrideLength ใช้กำหนดค่าระยะต่อก้าว หน่วยเป็นเมตร
  • DurationToMinute ใช้สำหรับแปลงคาบเวลาจากหน่วย millisecond ให้เป็นจำนวนนาที
  • format as decimal number ใช้แปลงตัวเลข ให้มีจำนวนหลักของทศนิยมตามที่กำหนด
  • modulo ใช้คำนวณหาเศษที่เหลือจากการหาร ในบทนี้ เราใช้บล็อกนี้ เพื่อคำนวณเศษนาที ที่ยังไม่ครบชั่วโมง

ความรู้อื่นๆ

  • สอนเทคนิคการเปลี่ยนสลับหน้าที่ของปุ่ม เมื่อมีการคลิ้กแต่ละครั้ง เช่น เมื่อคลิ้กปุ่ม Start ก็จะเปลี่ยนเป็นปุ่ม Stop เมื่อคลิ้กอีกครั้ง ก็จะกลับมาเป็นปุ่ม Start เหมือนเดิม

Comments

Popular posts from this blog

บทที่ 4 - เรียนรู้เกี่ยวกับ User Interface

บทที่ 3 - เริ่มใช้ App Inventor สร้างแอพแรก