ANDROID APP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
การสร้างและการตรวจจับอีเวนต์<br />
public boolean onKeyDown(int keyCode, KeyEvent event) {<br />
if (keyCode == KeyEvent.KEYCODE_CAMERA) {<br />
return true; // consume event, hence do nothing on camera button<br />
}<br />
return super.onKeyDown(keyCode, event);<br />
}<br />
แต่การใช้งานอีเวนต์ประเภทนี้ มีข้อยกเว้น คือ<br />
m การกดปุ่ม Power และปุ่ม Home จะถูกขัดจังหวะการทำงานโดยระบบปฏิบัติการ<br />
โดยตรง เราไม่สามารถเขียนคำสั่งเพื่อแก้ไขการทำงานนี้ได้<br />
m การกดปุ่ม BACK, ปุ่ม MENU, ปุ่ม HOME และปุ่ม SEARCH จะไม่ถูกขัดจังหวะการ<br />
ทำงานโดยระบบปฏิบัติการโดยตรง เนื่องจากในระบบปฏิบัติการแอนดรอยด์ 2.0<br />
ปุ่มดังกล่าวอาจเป็นได้ทั้งแบบฮาร์ดแวร์หรือซอฟต์แวร์<br />
ชุดคำสั่งที่ 5.1 จะแสดงตัวอย่างของการใช้งานปุ่มต่างๆ ดังนี้<br />
m ปุ่มกล้องถ่ายรูปและปุ่มซ้ายของ DPAD - เราจะใช้อีเวนต์ onKeyDown() เพื่อแสดง<br />
ข้อความบนจอ และให้ส่งค่ากลับว่า true เมื่ออีเวนต์นี้ทำงานเสร็จเรียบร้อย<br />
m ปุ่มเพิ่มเสียง (Volume Up) - เมื่อกดแล้วจะสั่งให้แสดงข้อความบนจอ<br />
m ปุ่ม SEARCH - เราจะใช้อีเวนต์ onKeyDown() และ startTracking() เพื่อแสดง<br />
ข้อความบนจอ<br />
m ปุ่ม Back - เมื่อกดแล้วจะเกิดอีเวนต์ onBackPressed()<br />
119<br />
คู่มือประกอบการพัฒนาแอพบนแอนดรอยด์เวอร์ชั่นแรกๆ นั้นได้อธิบายรายละเอียดเกี่ยวกับปุ่ม<br />
BACK ว่าโดยปกติแล้วการทำงานของปุ่มนี้เราจะไม่สามารถปรับแต่งอะไรได้ แต่อย่างไรก็ดี ถ้าเรา<br />
พัฒนาแอพบนแอนดรอย์ที่มีระดับ API Level 5 (Eclair) ขึ้นไป ก็จะมีคำสั่งสำหรับทำงานร่วมกับปุ่ม<br />
BACK คือ onBackPressed()<br />
การเขียนชุดคำสั่งเพื่อให้สามารถทำงานกับระบบปฏิบัติการที่มีระดับ API LEVEL น้อยกว่า 5<br />
นั้น เราจะใช้คำสั่ง KeyEvent.KEYCODE_BACK และยังคงใช้เมธอด onBackPressed() ได้เช่นกัน<br />
ตามที่แสดงในชุดคำสั่งที่ 5.1 (ชุดคำสั่งนี้สามารถคอมไพล์บนระบบปฏิบัติการแอนดรอยด์เวอร์ชั่น 2.0<br />
ขึ้นไปเท่านั้น แต่แอพที่ได้จากการคอมไพล์นี้จะยังคงทำงานกับระบบปฏิบัติการแอนดรอยด์เวอร์ชั่น<br />
ก่อนๆ ได้) การที่จะทำงานกับปุ่ม BACK นั้น เราจะต้องใช้เมธอด startTracking() เช่นเดียวกับ<br />
การใช้งานปุ่ม SEARCH ในชุดคำสั่งที่ 5.1<br />
ชุดคำสั่งที่ 5.1 src/com/cookbook/PhysicalKeyPress.java<br />
package com.cookbook.physkey;<br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.view.KeyEvent;<br />
import android.widget.Toast;