20.11.2016 Views

ANDROID APP

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

251<br />

บทที่ 10<br />

การระบุตำแหน่ง<br />

แอพสมัยนี้มีการระบุตำแหน่งที่หลากหลาย มีการนำไปรวมเข้ากับฟังก์ชั่นต่างๆ อย่างเช่น<br />

การค้นหาข้อมูล, การถ่ายรูป, เกมต่างๆ หรือแม้แต่แอพประเภทเครือข่ายทางสังคม โดยผู้พัฒนา<br />

สามารถนำเอาคุณสมบัติการทำงานนี้มาผนวกเข้ากับแอพของตัวเองเพื่อเพิ่มประสิทธิภาพในการ<br />

ทำงานได้ด้วย<br />

ในบทนี้จะว่าด้วยชุดคำสั่งที่ใช้ในการการระบุตำแหน่งของอุปกรณ์ และตรวจสอบความ<br />

เปลี่ยนแปลงของตำแหน่งปัจจุบัน รวมทั้งนำเอาพิกัดดังกล่าวไปใช้ระบุตำแหน่งบนแผนที่ด้วย<br />

ขั้นตอนพื้นฐานของการระบุตำแหน่ง<br />

การใช้ระบบการระบุตำแหน่งนั้น เราจะใช้คอมโพเน็นต์ของระบบปฏิบัติการแอนดรอยด์ ดังนี้<br />

m LocationManager – เป็นคลาสที่ใช้เข้าถึงการทำงานของการระบุตำแหน่งในอุปกรณ์<br />

แอนดรอยด์<br />

m LocationListener – เป็นอินเตอร์เฟซที่ใช้ในการรับข้อมูลจาก LocationManager<br />

เมื่อมีการเปลี่ยนตำแหน่ง<br />

m Location – เป็นคลาสที่ใช้แสดงพิกัดทางภูมิศาสตร์<br />

ในการใช้งาน LocationManager นั้น เราต้องเรียกใช้เซอร์วิสชื่อ LOCATION_SERVICE ซึ่งจะ<br />

ส่งค่ากลับเป็นตำแหน่งพิกัดของอุปกรณ์ ทำให้แอพที่ใช้เซอร์วิสนี้สามารถระบุตำแหน่งของอุปกรณ์<br />

และบอกทิศทางการเคลื่อนที่ รวมถึงกำหนดให้แจ้งเตือนเมื่ออุปกรณ์ดังกล่าวออกนอกพื้นที่ที่กำหนดไว้<br />

ได้ด้วย ตัวอย่างของการสั่งให้ LocationManager เริ่มทำงานมีดังนี้<br />

LocationManager mLocationManager;<br />

mLocationManager = (LocationManager)<br />

getSystemService(Context.LOCATION_SERVICE);<br />

หลังจากที่อินสแตนซ์ LocationManager เริ่มทำงานแล้ว เราจะต้องกำหนดเทคโนโลยีที่จะใช้<br />

ในการระบุตำแหน่ง เช่น AGPS, Wi-Fi หรือเครือข่ายโทรศัพท์ ซึ่งการเลือกใช้วิธีการระบุตำแหน่งนั้น<br />

จะส่งผลด้านความถูกต้องแม่นยำและอัตราการสิ้นเปลืองพลังงาน การทำงานประเภทนี้ให้ใช้คลาส<br />

Criteria ที่อยู่ในแพ็คเกจ android.location.Criteria ในการเลือกใช้วิธีการระบุตำแหน่งที่<br />

เหมาะสมในสถานะการใช้งานขณะนั้น ตัวอย่างของการใช้คำสั่ง Criteria มีดังนี้

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

Saved successfully!

Ooh no, something went wrong!