百度地图安卓版详细接入流程解读(获取密钥详解)

您所在的位置:网站首页 百度地图apikey格式不对 百度地图安卓版详细接入流程解读(获取密钥详解)

百度地图安卓版详细接入流程解读(获取密钥详解)

2024-07-16 20:24| 来源: 网络整理| 查看: 265

百度地图安卓版详细接入流程解读 一、接入Android地图SDK1.1 功能介绍:1.2 接入百度地图前的准备1.1.1 访问官网,并下载开发包1.1.2 获取开发密钥1.1.3 项目环境搭建 二、开发案例演示(参考官网)2.3 开发案例一:显示地图2.3.1 配置AndroidManifest.xml文件2.3.2 在布局文件中添加地图容器2.3.3 地图初始化 三、 等待补充

一、接入Android地图SDK

  复制官网的功能介绍:百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

1.1 功能介绍:

  复制官网的功能介绍:百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

1.2 接入百度地图前的准备 1.1.1 访问官网,并下载开发包

  1、百度搜索,找到并进入百度地图开放平台:http://lbsyun.baidu.com/ 在这里插入图片描述   2、在导航栏上面找到开发文档,二级导航栏中找到并点击Android地图SDK 在这里插入图片描述   3、跳转到Android地图SDK说明页面,左侧导航栏选择产品下载,然后再点击自定义下载, 在这里插入图片描述   4、这里我根据我的需求,勾选了几个,然后点击下方的按钮,分别下载 开发包、示例代码、类参考(API说明文档) 在这里插入图片描述   5、下载以后并解压,开发准备就绪。 在这里插入图片描述

1.1.2 获取开发密钥

  1、进入功能说明页,左侧导航栏点击概述,滑动至页面最底端可以看到如下提示: 在这里插入图片描述   2、提示说明,接入百度地图进行开发先登录百度账号(没有的自己去申请一个),然后通过账号申请一个开发者密钥,点击获取密钥。 在这里插入图片描述   3、在开发者控制台创建一个应用,填写一下应用名称,应用类型选择安卓,启用服务可以默认全选,包名需要根据自己安卓项目文件中的app目录下的build.gradle下的applicationId填写,AndroidManifest中的package的值最好跟applicationId保持一致,这是一种开发规范。 在这里插入图片描述 在这里插入图片描述   4、可以看到下面还有需要填写发布版SHA1和开发版SHA1这两个是什么东西呢?我在网上百度了一下,其实就是用于数字签名的玩意儿,叫做消息摘要,涉及到安全领域,具体大家自行了解,反正这两个必填。 在这里插入图片描述   5、为了获得这两个消息摘要,我费了九牛二虎之力,我先点击了上面的提示,查看详细配置方法。 在这里插入图片描述   6、看了一通官方说明文档,我顺利得到了开发版SHA1,操作方法如下图(截图来自官网) 在这里插入图片描述   7、这个很简单,给大家再梳理下流程,windows版进入电脑的用户文件夹,具体位置在C:\Users\CandyWall.android,CandyWall是我电脑登录时候的用户名,debug.keystore是开发工具自己生成的密钥库,这个密钥库从你安装Android Studio的时候就带着了,通过这个密钥库我们可以获取开发版SHA1 在这里插入图片描述   8、Win+R输入cmd启动黑窗口,先cd到刚才的.android目录,然后输入命令 keytool -list -v -keystore debug.keystore,提示需要输入密钥库口令,这个口令默认是Android,输入密钥口令的时候不显示哦。输入完回车,打印如下信息说明口令输入正确。 证书指纹里面的SHA1就是我们所需要的开发版SHA1,复制即可。 在这里插入图片描述   9、接下来我根据官网说明,准备拿发布版SHA1的时候,发现这么一句话, 在这里插入图片描述   10、我把官网上这一页关于SHA1获取的说明,反复看了几遍,思来想去,辗转反侧,发布版SHA1的获取方法居然就只有这么一句话,纳尼,我特么,只能苦逼的一顿百度,找了好几篇帖子,大多数都是让我们自己生成一个关于APP的私人密钥库,然后通过命令keytool -list-v -keystore + apk的keystore,这不就是跟官网说的一样吗,烦死了,找了半天我发现这篇帖子比较好使,作者提到了如何通过Android Studio来产生自己的密钥库,我非常感谢这个作者。原文地址如下:https://www.cnblogs.com/zhangqie/p/6439052.html 一顿折腾以后我生成了我自己的密钥库,如下图。 在这里插入图片描述   等下,这个文件的后缀是.jks,之前随开发工具自带的系统密钥库是debug.keystore,不是应该是.keystore结尾吗,这里怎么是jks 结尾的?为了解决这个疑惑,我又是一通百度,据网友说,用eclipse开发安卓应用生成的密钥库的后缀名是.keystore,而Android Studio开发安卓应用生成是密钥库的后缀名是.jks,所以说这个后缀名也是密钥库的一种,不用管它。   11、有了这个密钥库就好办了,接下来获取开发版SHA1,方法照旧,启动黑窗口,cd到.android目录下,输入如下指令,D\TGQ_Android_Project\candywall.jks,是我密钥所在的路径。输入密钥库口令以后复制SHA1即可。 在这里插入图片描述   12、好了,到这里,创建应用需要填写的内容就都OK了。 在这里插入图片描述   后面调用百度地图接口都需要这个开发密钥。 在这里插入图片描述

1.1.3 项目环境搭建

  1、拷贝下载好的BaiduLBS_Android.jar包到项目的lib目录 在这里插入图片描述   在src/main/目录下新建jniLibs目录,将如下CPU架构对应的so文件夹拷贝到jniLibs目录下 在src/main/目录下新建jniLibs目录,将如下CPU架构对应的so文件夹拷贝到jniLibs目录下   拷贝完如下图所示: 在这里插入图片描述   点击上方按钮打开Project Structure,依次点击app、Dependencies、添加Jar dependency 在这里插入图片描述   选择刚才lib目录下的百度地图开发jar包 在这里插入图片描述   点击OK添加jar包成功 在这里插入图片描述

二、开发案例演示(参考官网) 2.3 开发案例一:显示地图 2.3.1 配置AndroidManifest.xml文件

  1.在中加入如下代码配置开发密钥(AK):

  2. 在外部添加如下权限声明:

2.3.2 在布局文件中添加地图容器

  1、MapView是View的一个子类,用于在Android View中放置地图。MapView的使用方法与Android提供的其他View一样。

2.3.3 地图初始化

  1、新建一个自定义的Application,在其onCreate方法中完成SDK的初始化。示例代码如下:

public class DemoApplication extends Application { @Override public void onCreate() { super.onCreate(); //在使用SDK各组件之前初始化context信息,传入ApplicationContext SDKInitializer.initialize(this); //自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型. //包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。 //SDKInitializer.setCoordType(CoordType.BD09LL); } }

  2、在AndroidManifest.xml文件中声明该Application 在这里插入图片描述   3、以下示例代码简述对地图生命周期的管理:

public class MainActivity extends Activity { private MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.bmapView); } @Override protected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理 mMapView.onPause(); } @Override protected void onDestroy() { super.onDestroy(); //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理 mMapView.onDestroy(); } } 三、 等待补充

未完待续,敬请期待!!!!喜欢你就赞我一下吧,谢谢支持!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3