ANDROID APP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
117<br />
บทที่ 5<br />
อีเวนต์ต่างๆ ที่เกิดขึ้น<br />
ในส่วนการติดต่อกับผู้ใช้งาน<br />
การทำงานในส่วนของการติดต่อกับผู้ใช้งานนั้นจะประกอบด้วย 2 ส่วน คือ ส่วนของเลย์เอาต์<br />
บนจอภาพ และส่วนของเหตุการณ์ต่างๆ (Event – อีเวนต์) ที่ผู้ใช้ทำกับเลย์เอาต์ ในบทที่ 4 “ส่วนการ<br />
ติดต่อกับผู้ใช้งาน (User Interface)” ได้กล่าวถึงการสร้างเลย์เอาต์เพื่อแสดงบนจอด้วยการใช้<br />
ออบเจ็กต์ View ไปแล้ว มาในบทนี้เราจะกล่าวถึงการจัดการเหตุการณ์ต่างๆ ที่เกิดขึ้นบนเลย์เอาต์ที่เรา<br />
ได้สร้างขึ้นบ้าง ไม่ว่าจะเป็นการกดปุ่มต่างๆ บนจอ, การกดปุ่มบนแป้นพิมพ์, การสัมผัสที่ตำแหน่งต่างๆ<br />
บนจอ รวมถึงการใช้งานไลบรารีขั้นสูงเกี่ยวกับ UI, การใช้เจสเจอร์ และการแสดงผลภาพแบบ 3 มิติ<br />
ด้วย<br />
การสร้างและการตรวจจับอีเวนต์<br />
การโต้ตอบระหว่างอุปกรณ์แอนดรอยด์และผู้ใช้งานนั้นจะถูกตรวจจับการกระทำนั้นโดยระบบ<br />
ปฏิบัติการ ซึ่งจะทำงานประสานกับเมธอดต่างๆ ของเฟรมเวิร์ค ถ้ามีการกดปุ่ม Back ที่อุปกรณ์<br />
เมธอด onBackPressed() ก็จะถูกเรียกใช้งาน เราสามารถตรวจจับอีเวนต์เหล่านี้ได้ด้วยการสร้าง<br />
อินสแตนซ์ของคลาส และทำการโอเวอร์ไรด์เมธอดเหล่านี้ โดยจะเรียกขั้นตอนนี้ว่า Event Handler<br />
การโต้ตอบกับผู้ใช้งานด้วยออบเจ็กต์ View หรือ ViewGroup นั้น ออบเจ็กต์เหล่านี้ก็รองรับการ<br />
ทำงานแบบ Event Listener ด้วยเช่นกัน โดยเมธอดพวกนี้จะคอยสังเกตเหตุการณ์ต่างๆ ที่แอพได้<br />
ประกาศไว้ เมื่อมีเหตุการณ์หรืออีเวนต์ตรงกัน ก็จะเริ่มทำงาน ยกตัวอย่างเช่น setOnClick<br />
Listener() จะคอยตรวจจับอีเวนต์ของการกดปุ่ม ซึ่งหลังจากการกดปุ่มก็จะเกิดการเรียกใช้งาน<br />
เมธอด onClick() เป็นต้น<br />
ออบเจ็กต์ประเภท Event Listener จะเรียกใช้เมธอดก็ต่อเมื่อมีอีเวนต์เกิดขึ้นเท่านั้น เพื่อหลีก<br />
เลี่ยงการใช้เมธอดโดยไม่จำเป็น อันจะทำให้ประสิทธิภาพของระบบต่ำลง สำหรับในบทนี้เราจะกล่าวถึง<br />
การใช้งาน Event Listener และ Event Handler ร่วมกับการกดปุ่มต่างๆ บนอุปกรณ์แอนดรอยด์<br />
รวมทั้งการสัมผัสจอภาพด้วย<br />
กรรมวิธี: การขัดจังหวะการทำงานโดยการกดปุ่มแบบฮาร์ดแวร์<br />
อุปกรณ์แอนดรอยด์มาตรฐานจะประกอบไปด้วยปุ่มแบบฮาร์ดแวร์หลายปุ่ม ซึ่งปุ่มเหล่านี้<br />
สามารถสร้างอีเวนต์ ตามที่แสดงในตารางที่ 5.1 ได้