Android中第三方SDK集成之百度地图集成(入门篇)
来源:互联网 发布:ubuntu kylin qq 编辑:程序博客网 时间:2024/05/23 19:15
编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/69768308
准备工作
使用百度帐号,登录百度地图开放平台 ,网址是:http://lbsyun.baidu.com
在“开发”栏选择“Android地图SDK”,选择左侧的开发指南,按照指南的指导进行操作
开发指南—>简介中要求我们下载最新版的地图SDK,网址是:http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,于是选择自定义下载了Android SDK v4.3.0的开发包和示例代码
开发指南—>申请密钥中要求我们申请百度地图的key,网址是:http://lbsyun.baidu.com/apiconsole/key,网址进去后点击创建应用,出现如下界面:
重要的是需要填写发布版SHA1值(即有正式版签名的SHA1值)和开发版的SHA1值(即debug版签名的SHA1值)
- - - 那么发布版SHA1值该如何获取呢?
首先要拥有正式版签名,不知道如何操作的见我的上一篇博客: Android中对应用程序进行签名的两种方法 http://blog.csdn.net/zxc514257857/article/details/69697764
打开命令行输入:
keytool.exe -list -v -keystore C:\Users\Administrator\Desktop\BaiduMap.jks// -keystore数字证书名称及路径(默认在C:\Users\Administrator目录下,但我将其移动到了桌面上)
详细步骤如下图:
生成了我们所需要的发布版SHA1值
- - - 开发版的SHA1值如何获取呢?
打开命令行输入:
//进入到android签名目录cd .android //然后输入keytool.exe -list -v -keystore debug.keystore//输入密码android(系统默认)
详细步骤如下图:
于是就生成了我们所需要的开发版SHA1值
- - - 应用程序的包名又如何得知呢?
如下图:
点击提交就创建完成了一个应用,并获得了该应用的AK即AppKey
开发指南—>配置环境及发布,我们参照Android Studio工程配置方法进行配置
我们将刚下载的BaiduLBS_AndroidSDK_Sample.zip解压出来,找到BaiduMap_AndroidSDK_v4.3.0_Sample,将BaiduMapsApiASDemo中的app—>libs目录下的所有jar文件拷贝到我们项目的libs目录中,然后将jar文件添加file依赖。其他的so文件拷贝至src/main/目录下新建jniLibs目录中
应用混淆时,添加如下代码:
-keep class com.baidu.** {*;}-keep class vi.com.** {*;} -dontwarn com.baidu.**
保证百度类不能被混淆,否则会出现网络不可用等运行时异常
开发指南—>Hello BaiduMap 显示百度地图简单教程
- Demo效果展示如下:
如果代码正确,则会出现这个界面,默认将北京天安门作为中心
创建并配置工程(过于简单,不再赘述)
在AndroidManifest中添加开发密钥、所需权限等信息
- - - 在application中添加开发密钥
- - - 添加所需权限
//AndroidManifest.xml<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="android.permission.WAKE_LOCK"/><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.GET_TASKS" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_SETTINGS" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- 在布局xml文件中添加地图控件
//(layout)activity_main<com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" />
- 应用程序创建时初始化 SDK引用的Context 全局变量
//MainActivitypublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); } }
- 创建地图Activity,管理地图生命周期
//MainActivitypublic class MainActivity extends AppCompatActivity { private MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); initView(); } private void initView(){ //获取地图控件引用 mMapView = (MapView) findViewById(R.id.bmapView); } @Override protected void onDestroy() { super.onDestroy(); //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理 mMapView.onPause(); } }}
注:本Demo用的百度的Key为私人的,如果要正常运行,得自己去百度地图API控制台申请Key,来替换Mainfest中的key
Demo下载请移步:http://download.csdn.net/detail/zxc514257857/9808064
如需了解百度地图集成的案例使用请移步:Android中第三方SDK集成之百度地图集成(案例一) http://blog.csdn.net/zxc514257857/article/details/72083693
———-因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!———-
- Android中第三方SDK集成之百度地图集成(入门篇)
- Android中第三方SDK集成之高德地图集成指南(入门篇)
- Android中第三方SDK集成之百度地图集成(案例一)
- Android第三方集成之百度地图定位
- Android开发之集成百度地图SDK
- Android集成百度地图SDK
- Android集成百度地图SDK
- Android集成百度地图SDK
- Android集成百度地图SDK
- Android集成百度地图SDK
- KS系列之第三方百度地图的集成(一)
- Android中第三方SDK集成之腾讯Bugly热更新集成指南
- Android中第三方SDK集成之ZXing二维码扫一扫集成指南
- 第三方集成百度地图定位
- 集成百度地图sdk
- Android第三方框架之学习高德地图SDK-----①集成环境,获取定位信息,地图显示。
- 在android应用中集成百度地图sdk
- Android 科大讯飞第三方SDK集成
- 《算法竞赛入门经典》习题2-5 分数化小数(Decimal)
- 最高的奖励
- iOS 多线程之延迟操作
- Java里面的四大内部类
- SQL语句中常用关键词及其解释
- Android中第三方SDK集成之百度地图集成(入门篇)
- Mysql分区的使用
- 快速排序
- Qt登录对话框
- Mac下启动tomcat
- SPOJ SUBSUMS Subset Sums 折半枚举
- 学习SSH 增删改查
- 顺序统计量
- Linux(CentOS6.5)下编译安装Nginx官方最新稳定版(nginx-1.10.0)