Android学习——基于百度定位SDK(LBS)实现定位功能
最近因为课程需要,在学习安卓开发的相关课程,需要使用百度定位实现定位功能,因为小白刚接触安卓不久,也是为了帮助一下跟我一样小白的同学,把相关过程记录下来,以免忘记。
一、申请百度地 图API_KEY
1.进入百度地图官网注册并申请KEY
然后点击创建应用,进行KEY申请,具体看下图
说明一下,发布版SHA1、开发版SHA1在安卓程序中都是唯一的识别码,发布版SHA1要填写正确,不然无法获取相关服务。
想要获取发布版SHA1,需要先对程序打包签名,请自行百度,或参考此文档 https://blog.youkuaiyun.com/l_215851356/article/details/69914213
签名之后,可以从签名文件中获取发布版SHA1,请自行百度,或参考此文档 https://jingyan.baidu.com/article/25648fc19932849191fd0001.html
获取SHA1之后,填入百度申请中,提交,获取KEY
二、下载百度地图sdk并导入安卓项目中
选择需要的sdk,点击开发包下载(注:本人用迅雷及数个浏览器下载,都显示数据丢失,无法解压,最后解决办法是把相关链接发到手机,用手机下载后传到电脑)
解压后的文件夹
BaiduLBS_android.jar放在project目录下的app–>libs目录下,其他目录放在app–>main–>新建文件夹比如:jniLibs下,请看下图
注:app–>libs目录会自动引用jniLibs目录内的so文件,要求jniLibs目录为通过软件自带的方法创建,不能自己新建一个文件夹命名为jniLibs。
如无法引用so文件,可以把所有下载的文件丢到app–>libs目录。
在build.gradle中配置libs目录
sourceSets {
main {
jniLibs.srcDirs = [‘libs’]
}
}
三、配置AndroidManifest.xml
主要为设置service、引用key以及添加权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.shiyan14">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote">
</service>