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.

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

จากชุดคำสั่งข้างต้นจะเห็นว่า การเรียกใช้งาน LocationListener ในระดับแอคทิวิตี้ ทำให้เรา<br />

สามารถประกาศอินสแตนซ์โดยใช้คลาสย่อยได้ ซึ่งทำได้โดยใช้ชุดคำสั่งด้านล่างนี้เพื่อเพิ่มขั้นตอนการ<br />

อัพเดตข้อมูลจากตำแหน่งปัจจุบัน<br />

mLocationManager.requestLocationUpdates(<br />

locationprovider, 5000, 2.0, myLocL);<br />

}<br />

private final LocationListener myLocL = new LocationListener(){<br />

@Override<br />

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

mLocation = location;<br />

showupdate();<br />

}<br />

};<br />

// these methods are required<br />

public void onProviderDisabled(String arg0) {}<br />

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

public void onStatusChanged(String a, int b, Bundle c) {}<br />

กรรมวิธี: Listing All Enabled Providers<br />

ในหัวข้อนี้เราจะแสดงรายการของ Location Provider ที่สามารถใช้งานได้ในอุปกรณ์<br />

แอนดรอยด์ ผลลัพธ์การทำงานจะแสดงไว้ในรูปที่ 10.1 ซึ่งผลลัพธ์อาจเปลี่ยนแปลงไปตามอุปกรณ์ที่<br />

ใช้งานอยู่ โดยแอคทิวิตี้หลักของการทำงานนี้ จะแสดงไว้ในชุดคำสั่งที่ 10.5 โดยเราจะใช้คำสั่ง<br />

getProviders(true) เพื่อแสดงรายการของ Location Provider<br />

ชุดคำสั่งที่ 10.5 src/com/cookbook/show_providers/MyLocation.java<br />

package com.cookbook.show_providers;<br />

import java.util.List;<br />

import android.app.Activity;<br />

import android.content.Context;<br />

import android.location.Criteria;<br />

import android.location.Location;<br />

import android.location.LocationListener;<br />

import android.location.LocationManager;<br />

import android.os.Bundle;<br />

import android.widget.TextView;<br />

public class MyLocation extends Activity {<br />

LocationManager mLocationManager;<br />

TextView tv;

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

Saved successfully!

Ooh no, something went wrong!