Android Programming Sensor Prawit Pimpisan Computer Science RERU
การใช้งาน Sensor Sensor เปรียบเสมือนประสาทรับรู้สภาพแวดล้อมหรือสถานะจากภายนอก เป็นการส่งข้อมูลเข้ามายังอุปกรณ์ อุปกรณ์ Android โดยทั่วไปแล้วจะมี Sensor มาพร้อมเครื่องหลาย Sensor
ประเภทของ Sensor ในอุปกรณ์ Android Motion Sensors ตรวจจับการเคลื่อนไหว โดยตรวจความเร่งจาก 3 แกน เช่น accelerometer, gravity, gyroscope, rotation vector Environment Sensors ตรวจวัดสภาพแวดล้อม เช่น อุณหภูมิ, ความดัน, ความชื้น Position Sensors ตรวจจับตำแหน่ง เช่น GPS, เข็มทิศ Body Sensors ตรวจจับเกี่ยวกับร่างกาย เช่น อัตราเต้นของหัวใจ, สเต็ปการก้าวเดิน
ตรวจสอบรายการ Sensor ทั้งหมดในเครื่อง สร้างโปรเจคชื่อ SensorList ทำการตรวจสอบ Sensor ทั้งหมดที่มีภายในเครื่อง Min SDK API 16 แสดงรายการด้วย ListView แต่ละเครื่องอาจจะมีรายการ Sensor ไม่เหมือนกัน activity
ตรวจจับการเคลื่อนไหว ตรวจจับการเคลื่อนไหว เช่น เอียงซ้าย-ขวา เป็นการตรวจจับในลักษณะเป็น 3D คือแกน x, y, z สร้างโปรเจคใหม่ ทดสอบการอ่านค่า Sensor โดยแสดงเป็นค่าแกน x, y, z ที่หมายถึงอัตราเร่ง Implement SensorEventListener ประกาศใช้งาน Accelerometer Sensor activity
การอ่านค่า Sensor การใช้งาน Sensor จะต้องใช้พลังงานในการอ่านค่าแจก Battery แต่ละ Sensor ใช้พลังงานมากน้อย แตกต่างกัน ยิ่งใช้งานต่อเนื่อง ยิ่งกินลังงานมาก การใช้งาน Sensor ให้มีประสิทธิภาพ และใช้พลังงานร้อยมีลำดับดังนี้ สั่งให้ทำการตรวจจับ (Register Listener) เมื่อจำเป็นต้องใช้งาน หยุดทำการตรวจจับ (Unregister) เมื่อไม่ใช้งานแล้ว activity
เกมส์ กลิ้งบอล ลงหลุม การประยุกต์ใช้ Accelerometer เพื่อเอียงบอลให้ลงไปในหลุม มีการทำงานคือ อุปกรณ์เอียงไปทางไหนบอลไหลไปทางนั้น activity View
การทำงานของเกม อ่าน Accelerometer ทุกๆ 0.2 วินาที แล้วนำค่า x, y ที่ได้ มาคำนวณวัตถุให้ไหลไปด้านที่ลาดเอียง ลงทะเบียน Start Accelerometer ตรวจสอบว่าบอลตกหลุมหรือยัง Sensor รายงานข้อมูล อัพเดท UI หน้าจอ (เลื่อนวัตถุไปมา)
การทำงานของเกม โดยทั่วไปแล้วโปรแกรมจะปรับการแสดงหน้าจอเป็นโหมดแนวตั้งและแนวนอน การเล่นเกมนี้ จะให้การแสดงผลในโหมดของแนวตั้งตลอดเวลา ต้องตั้งค่าให้หน้าจอตั้งตลอดเวลา
การทำงานของเกม การแสดงผล Output ของรูปภาพวัตถุที่กลิ้งบนจอ ใช้เป็นผืนภาพ Canvas แล้วนำภาพของ bitmap มาวางไว้ที่ผืนภาพ
การทำงานของเกม ในผืนภาพ Canvas มี inner class ทำหน้าที่ในการวาดรูป หลุมกลมกลางจอ วัตถุกลิ้งไปมา ทำงานทุกครั้งที่ sensor รายงานค่าที่เปลี่ยนแปลงไปตลอดเวลาที่การเยงอุปกรณ์ Casvas ทำหน้าที่ล้างแล้ววาดรูปใหม่ที่ตำแหน่ง xPos, yPos(ตำแหน่งวัตถุ)
การทำงานของเกม การตรวจสอบวัตถุเข้าไปถึงเป้าหมาย ทำได้โดยการเปรียบเทียบตำแหน่งวัตถุ เทียบกับตำแหน่งของวงกลม เมื่อวัตถุเข้าถึงเป้าหมายแล้วให้เลิกทำการตรวจจับ sensor (UnregisterListener) เมื่อ sensor ยกเลิกการตรวจจับแล้ว ก็เป็นการจบเกม