20.11.2016 Views

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 ได้

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!