location

本文详细介绍了如何在应用中实现位置监听并记录位置数据,包括使用LocationClient进行位置信息的获取,通过MyLocationListenner监听位置变化,并将关键信息如时间、经纬度、速度等进行记录和显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Location extends Application {
public LocationClient mLocationClient = null;
private String mData;
public MyLocationListenner myListener = new MyLocationListenner();
TextView mTv;

public void onCreate()
{
mLocationClient = new LocationClient(this);
mLocationClient.registerLocationListener(myListener);
}
/**
* @param str
*/
public void logMsg(String str)
{
Log.v("system", "location value is:"+str);
try
{
mData = str;
if ( mTv != null )
{
mTv.setText(mData);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}

/**
* 返回结果处理
*/
public class MyLocationListenner implements BDLocationListener
{
public void onReceiveLocation(BDLocation location)
{
if (location == null)
{
return ;
}
StringBuffer sb = new StringBuffer(256);
sb.append("time : ");
sb.append(location.getTime());
sb.append("\nerror code : ");
sb.append(location.getLocType());
sb.append("\nlatitude : ");
sb.append(((Double)location.getLatitude()).longValue());
sb.append("\nlontitude : ");
sb.append(((Double)location.getLongitude()).longValue());
sb.append("\nradius : ");
sb.append(location.getRadius());
if (location.getLocType() == BDLocation.TypeGpsLocation)
{
sb.append("\nspeed : ");
sb.append(location.getSpeed());
sb.append("\nsatellite : ");
sb.append(location.getSatelliteNumber());
}
else if (location.getLocType() == BDLocation.TypeNetWorkLocation)
{
sb.append("\naddr : ");
sb.append(location.getAddrStr());
}
/**
* 写值处理
*/
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("time", location.getTime());
parameters.put("latitude", ""+location.getLatitude());
parameters.put("longitude", ""+location.getLongitude());
parameters.put("locType", ""+location.getLocType());
parameters.put("speed", ""+location.getSpeed());
parameters.put("satelliteNumber", ""+location.getSatelliteNumber());
parameters.put("address", location.getAddrStr());
parameters.put("radius", ""+location.getRadius());
PropertiesOperation.writeProperties(Parameters.LOCATION_PATH,parameters);;

logMsg(sb.toString());
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值