博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android开源项目-旅游记录
阅读量:6622 次
发布时间:2019-06-25

本文共 2465 字,大约阅读时间需要 8 分钟。

项目名字:AndTripLog-旅游日记

一个很好的学习定位的开源项目,用的是google的定位系统,

但是google的基站定位在国内很不稳定,基本处于不能用的状态

本着自己动手丰衣足食的精神,果断改成百度的定位系统,

写了一个百度定位的工具类:

 

import java.util.List;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.os.Handler;import android.os.Message;import android.telephony.SmsManager;import android.util.Log;import android.widget.Toast;import com.baidu.location.*;public class LocationUtils {    private Context context;    private boolean isLocationupdate=false;    private String locationInfo;    private Handler mhandler;    private BDLocation bdLocation;    public LocationClient mLocationClient = null;    public MyLocationListenner myListener = new MyLocationListenner();    	public LocationUtils(Context context,Handler myhandler){		this.context=context;		mhandler=myhandler;	}		class MyLocationListenner implements BDLocationListener{		public void onReceiveLocation(BDLocation location) {			// TODO Auto-generated method stub			Log.d("AndTripLog","onReceiveLocation");			if (location == null)				return ;			Log.d("AndTripLog","onReceiveLocation is not null");			bdLocation=location;			isLocationupdate=true;			locationInfo="Latitude:"+location.getLatitude()+",Longitude:"+location.getLongitude();			mhandler.sendEmptyMessage(0);		}		public void onReceivePoi(BDLocation poiLocation) {			// TODO Auto-generated method stub			if (poiLocation == null){				return ; 			}		}			}	public String getLocationInfo(){		return locationInfo;			}	public BDLocation getLocation(){		return bdLocation;	}	public void startLocation(){		isLocationupdate=false;		mLocationClient = new LocationClient(context);			setLocationOption();		mLocationClient.registerLocationListener(myListener);		Log.d("lostprevent","startLocation");		mLocationClient.start();	}	public boolean isupdate(){		return isLocationupdate;	}	public void stopLocation(){		isLocationupdate=false;		mLocationClient.stop();	}	private void setLocationOption(){		LocationClientOption option = new LocationClientOption();		option.setOpenGps(true);						option.setServiceName("com.baidu.location.service_v3.3");		option.setPoiExtraInfo(false);	        option.setAddrType("all");			option.setScanSpan(3000);        option.setCoorType("bd09ll");         option.setPriority(LocationClientOption.NetWorkFirst);   		option.disableCache(true);				mLocationClient.setLocOption(option);	}}

相应的权限设置、需要添加的包见官方的介绍:

 

通过此项目学习,可以很好的学习知识点:

1.定位系统

2.SQLite语句

3.文件保存

4.邮件发送

项目源码下载地址:

 

你可能感兴趣的文章
ICO后STO也被明令禁止,区块链并不是法外之地
查看>>
浅尝辄止,React是如何工作的
查看>>
6000多套iOS源码大分享
查看>>
一个完整Java Web项目背后的密码
查看>>
前端笔试题面试题记录(上)| 掘金技术征文
查看>>
收发数据的原理(上)
查看>>
AccessibilityService 从入门到出轨
查看>>
七层网络协议-tcp/ip协议
查看>>
React 学习资源
查看>>
Jenkins插件开发入门指南
查看>>
Hacking with Unicode
查看>>
试用React语法的多端框架Taro问题汇总
查看>>
The impacts of using index as key in React
查看>>
深度分析Facebook ADS广告投放平台(1):平台介绍
查看>>
基于Flutter的开源项目和App,Flutter入门有她就够了(一)
查看>>
非懂不可的Slice(一)-- 就要学习Go语言
查看>>
程序员听到bug后的N种表现,妥妥地扎心了
查看>>
RAC(Reactive Cocoa)常见的类
查看>>
idea保存时自动format
查看>>
浅析okHttp3的网络请求流程
查看>>