20.11.2016 Views

Android App Development ฉบับสมบูรณ์

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

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

public void onCreate(Bundle savedInstanceState) {<br />

super.onCreate(savedInstanceState);<br />

setContentView(R.layout.main);<br />

lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);<br />

locationListener = new MyLocationListener();<br />

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 1,<br />

locationListener);<br />

}<br />

private class MyLocationListener implements LocationListener {<br />

public void onLocationChanged(Location loc) {<br />

if (loc != null) {<br />

Toast.makeText(<br />

getBaseContext(),<br />

"Location changed \nLat: " + loc.getLatitude()<br />

+ "\nLng: " + loc.getLongitude(),<br />

Toast.LENGTH_SHORT).show();<br />

}<br />

}<br />

public void onProviderDisabled(String provider) {<br />

// TODO Auto-generated method stub<br />

}<br />

public void onProviderEnabled(String provider) {<br />

// TODO Auto-generated method stub<br />

}<br />

}<br />

public void onStatusChanged(String provider, int status, Bundle extras) {<br />

// TODO Auto-generated method stub<br />

}<br />

}<br />

อธิบายโค้ดการทำงานของแอพพลิเคชัน<br />

1. การสร้างออบเจ็กต์ของคลาส LocationManager นั้น สามารถเรียกใช้งานได้โดยตรงดังนี้<br />

getSystemService(Context.LOCATION_SERVICE);<br />

2. การลงทะเบียนให้แอพพลิเคชัน สามารถรับการแจ้งเตือนบริการประเภทต่างๆ จากระบบได้นั้น<br />

จะมีรูปแบบคำสั่งดังนี้<br />

requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)<br />

โดยจะต้องระบุพารามิเตอร์ต่างๆ ดังต่อไปนี้<br />

• provider คือ ชื่อสิ่งที่ต้องการขอการบริการ ซึ่งในที่นี้ให้กำหนดเป็นค่า LocationManager.<br />

GPS_PROVIDER เพราะแอพพลิเคชันนี้มีการเรียกใช้งาน GPS<br />

• minTime คือ ระยะเวลาที่ห่างกันในการแจ้งเตือนแต่ละวงรอบ ซึ่งมีหน่วยเป็นมิลลิวินาที<br />

(millisecond)<br />

• minDistance คือ การแจ้งเตือนเมื่อมีการเปลี่ยนตำแหน่งตามระยะห่างที่กำหนด ซึ่งมีหน่วย<br />

เป็นเมตร (meter)<br />

บทที ่ 9 การพัฒนาแอพพลิเคชันติดต่อกับ GPS และการอ้างอิงกับระบบแผนที่ (Map) 177

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

Saved successfully!

Ooh no, something went wrong!