要求:开发一个手机端上报体温的手机APP,上报内容包括姓名、日期(自动生成)、时间(自动生成)和体温。
利用百度地图API来获取定位信息
首先需要申请密钥(API Key)
登录百度地图官网http://lbsyun.baidu.com找到申请密钥,如果没有百度账号需要进行注册,并且进行开发者激活。创建应用并且填写应用名称、选择应用类型(我们这里是Android SDK)、填写发布版SHA1和创建的应用所在包名。
至于发布版SHA1的值可以打开Android studio的Terminal选项卡,并且切换到.android目录中,并且输入keytool -list -v -keystore debug.keystore,密钥库口令直接回车,即可找到SHA1.
填写信息成功提交以后就可以得到一个密钥
其次需要下载百度地图SDK开发包
将lib中的文件全部复制到AS项目中的libs文件夹中,并进入File->Project Structure,添加Jar Dependency,选择Jar包,进行配置。
在build.gradle里面添加对应语句
在AndroidManifest.xml中增加权限,修改配置内容
public LocationClient mLocationClient = null; private MyLocationListener myListener = new MyLocationListener(); public class MyLocationListener extends BDAbstractLocationListener { @Override public void onReceiveLocation(BDLocation location){ //此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果 String addr = location.getAddrStr(); //获取详细地址信息 String country = location.getCountry(); //获取国家 String province = location.getProvince(); //获取省份 String city = location.getCity(); //获取城市 String district = location.getDistrict(); //获取区县 String street = location.getStreet(); //获取街道信息 String town = location.getTown(); //获取乡镇信息 et_location=(EditText)findViewById(R.id.edit_text2); et_location.setText(country+province+city+district+town+street); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); } public void getAddress(View view) { mLocationClient = new LocationClient(getApplicationContext()); mLocationClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setIsNeedAddress(true); option.setNeedNewVersionRgc(true); mLocationClient.setLocOption(option); mLocationClient.start(); }