AS(五、六)百度地图&蓝牙通信

百度地图定位博客链接
蓝牙通信博客链接

百度地图定位
1.申请百度地图API Key

要想在自己的应用程序里加入百度地图的功能,首先必须申请一个API Key。你得拥有一个百度账号才能申请,申请好百度账号后那么就得在百度地图开放平台注册成为一名百度开发者。登录百度账号,并打开http://lbsyun.baidu.com/这个网址,在这里填写一些注册信息即可,如下图所示:

AS(五、六)百度地图&蓝牙通信_第1张图片

由于这是一个刚刚注册的账号,所以目前的应用列表是空的。接下来点击创建应用就可以去申请API Key了,应用名称可以随便填,应用类型选择Android SDK,启用服务保持默认即可(最好全选),包名就是填写你要申请API Key应用到哪个应用上的包名,包名必须一致,否则应用上的地图的画面加载不出来。如下图所示:

AS(五、六)百度地图&蓝牙通信_第2张图片

那么剩下的发布版SHA1和开发版SHA1是什么意思呢?这是我们申请API Key所必须填写的字段,发布版SHA1就是你自己对你所开发的App进行数字加密签名的指纹证书,防止别人对的App进行反编译的操作,也是为了证明该App是你个人开发的;开发版SHA1是指在Android Studio或Eclipse上创建一个项目是默认生成的一个数字指纹证书,注意它们都是唯一的,如果Android Studio或Eclipse再重新安装Android SDK时会又随机生成不同的开发版SHA1数字指纹证书。

那么如何在Android Studio上获取开发版SHA1值和发布版SHA1值?

开发版的SHA1值的获取方法如下:
AS(五、六)百度地图&蓝牙通信_第3张图片
发布版的SHA1值的获取方法如下:

要想获取发布版的SHA1的值,必须先对项目进行签名,具体是如何对项目进行签名的,详情请看我之前发表的博客:Android移动开发-如何在AndroidStudio里进行对应用程序进行签名,项目签名后可以直接用Android Studio提供的命令控制台Terminal输入命令时输入“cd 自己应用签名的jks文件保存的文件目录”然后接着回车,比如:cd D:\AndroidStudio\AndroidKey\BaiduMapTest1,接着在命令行里输入keytool -list -v -keystore jks文件名,比如:keytool -list -v -keystore BaiduMapTest.jks,接着按回车,然后输入秘钥,回车(秘钥库口令是看不到的)。如下图所示:

AS(五、六)百度地图&蓝牙通信_第4张图片

然后在百度地图开发者中心的创建应用里分别输入开发版和发布版的SHA1的值的后点击提交,就能申请到了百度地图的API Key了。如下图所示:

AS(五、六)百度地图&蓝牙通信_第5张图片
让地图显示到自己的应用中

现在正是趁热打铁的好时机,新建一个百度地图测试的项目,项目名称为BaiduMapTest,包名为com.fukaimei.BaiduMapTest(注意:必须在百度地图里申请API Key时填写的包名一致),在开始编码之前,我们还需要先将百度地图Android版的SDK准备好,下载地址为:http://lbsyun.baidu.com/index.php?title=sdk/download&action#selected=location_all,然后点击一键下载按钮即可。
下载完成后对压缩包解压,并在Android Studio里做相应的环境配置。

第一步:在工程app/libs目录下放入baidumapapi_vX_X_X.jar包,在src/main/目录下新建jniLibs目录,工程会自动加载src目录下的so动态库,放入libBaiduMapSDK_vX_X_X_X.so如下图所示,注意jar和so的前3位版本号必须一致,并且保证使用一次下载的文件夹中的两个文件,不能不同功能组件的jar或so交叉使用。

so的配置也可以参考demo给出的目录结构,如下图所示,在app工程路径下,新建libs,并在libs目录下放入对应不同CPU架构的so文件。这样工程并不会自动加载libs下的so,需在gradle编译时,通过加入代码: jniLibs.srcDir ‘libs’ 来说明so的路径为该libs路径。

AS(五、六)百度地图&蓝牙通信_第6张图片

第二步:工程配置还需要把jar包集成到自己的工程中,如图上图所示,放入libs目录下。对于每个jar文件,右键-选择Add As Library,导入到工程中。对应在build.gradle生成工程所依赖的jar文件说明,如下图所示:

AS(五、六)百度地图&蓝牙通信_第7张图片

集成地图SDK的应用,在打包混淆的时候,需要注意与地图SDK相关的方法不可被混淆。混淆方法如下:

-keep class com.baidu.** {*;}
-keep class vi.com.** {*;}    
-dontwarn com.baidu.**

保证百度类不能被混淆,否则会出现网络不可用等运行时异常。
百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:
第一步:创建并配置工程;
第二步:在AndroidManifest中添加开发密钥、所需权限等信息;

在AndroidManifest.xml清单文件中添加开发密钥,如下图所示:
AS(五、六)百度地图&蓝牙通信_第8张图片
基本的布局和功能代码已上传至码云,需要的自取,连接在文章最下

最终效果图:
AS(五、六)百度地图&蓝牙通信_第9张图片
百度地图源码:https://gitee.com/zhangjianhui1010/baiduditu

蓝牙通信
蓝牙通信博客:请点这里
蓝牙通信源码:https://gitee.com/zhangjianhui1010/lanyatongxin

你可能感兴趣的:(AS(五、六)百度地图&蓝牙通信)