用户定位
UserLocationActivity
package org.wp.activity;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class UserLocationActivity extends Activity {
private TextView textView;
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView) this.findViewById(R.id.textViewId);
button = (Button) this.findViewById(R.id.buttonId);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 得到LocationManager对象
LocationManager locationManager = (LocationManager) UserLocationActivity.this
.getSystemService(Context.LOCATION_SERVICE);
// 定义当前所使用的LocationProvider
// 两次定位之间的间隔时间、间隔距离
// 设置监听器
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 0,
new UserLocationListener());
}
});
}
class UserLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
// 经度
double longitude = location.getLongitude();
// 纬度
double latitude = location.getLatitude();
textView.setText("经纬度:" + longitude + "/" + latitude);
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textViewId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="经纬度:" /> <Button android:id="@+id/buttonId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="绑定监听器" /> </LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.wp.activity" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".UserLocationActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> <!-- Allows an application to access fine (e.g., GPS) location --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> </manifest>