现在的位置: 首页 > 综合 > 正文

Android Location的使用

2013年10月26日 ⁄ 综合 ⁄ 共 2475字 ⁄ 字号 评论关闭

作者:邹杰

Location Android 开发中还是经常用到的,如通过经纬度获取天气,根据Location 获取所在地区详细Address (比如Google
Map
 开发)等。而在Android 中通过LocationManager来获取Location .通常获取Location 有GPS 获取,WIFI 获取。

这边介绍一个简单的小Demo ,来教大家如何获取Location ,从而获取经纬度。

第一步:创建一个Android 工程命名为LocationDemo .

第二步:修改main.xml 代码如下:

第二步:修改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/longitude" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="longitude:"
    />
<TextView
	android:id="@+id/latitude"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="latitude:"
    />
</LinearLayout>

第三步:修改LocationDemo.java ,代码如下:


package pku.ss;
import pku.ss.R;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;

public class LocationDemoActivity extends Activity {
	private TextView longitude;
	private TextView latitude;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        longitude = (TextView)findViewById(R.id.longitude);
        latitude = (TextView)findViewById(R.id.latitude);
        
        Location mLocation = getLocation(this);
        
        longitude.setText("Longitude: " + mLocation.getLongitude());
        latitude.setText("Latitude: " + mLocation.getLatitude());
    }
    
    //Get the Location by GPS or WIFI
	public Location getLocation(Context context) {
		LocationManager locMan = (LocationManager) context
				.getSystemService(Context.LOCATION_SERVICE);
		Location location = locMan
				.getLastKnownLocation(LocationManager.GPS_PROVIDER);
		if (location == null) {
			location = locMan
					.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
		}
		return location;
	}
}

第四步:增加权限,修改AndroidManifest.xml 代码如下(第16行为所增行):



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="pku.ss"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".LocationDemo"
                  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" />
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
</manifest>

第五步:运行LocationDemo 工程,所得效果如下:

抱歉!评论已关闭.