欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

AndroidStudio配置百度地图AndroidSDK项目

程序员文章站 2022-04-20 11:53:29
...

1. 获取百度Key

目录

1. 获取百度Key

1.1. 注册百度账号并登陆

1.2 创建和获取签名SHA1

1.2.1 创建签名

1.2.2 查看签名SHA1

1.2. 创建应用

1.2.1 创建应用

1.2.2 复制key或修改应用

2. 资源引入

2.1 下载jar和so文件

2.2 jar包复制到项目中

2.3 添加jar包到项目引用

3. 应用混淆

4. 添加权限和百度key

4.1 添加权限

4.2 添加百度Key

5 代码编写

5.1 在xml中添加MapView

5.2 初始化Baidu SDK中的Context

5.3 MapView生命周期管理

 


1.1. 注册百度账号并登陆

官方注册网址:https://passport.baidu.com/v2/?reg

1.2 创建和获取签名SHA1

1.2.1 创建签名

参考:生成签名

1.2.2 查看签名SHA1

参考:获取签名信息

1.2. 创建应用

1.2.1 创建应用

点击“创建应用”->设置项目名称->选择Android SDK->设置发布和开发版的SHA1(1.2.2获取的)

->包名->提交,系统生成百度地图key;

AndroidStudio配置百度地图AndroidSDK项目

1.2.2 复制key或修改应用

AndroidStudio配置百度地图AndroidSDK项目

 

2. 资源引入

2.1 下载jar和so文件

根据需要选择资源进行下载

2.2 jar包复制到项目中

Project切换到“Project”在module下创建libs目录,把下载jar和so库文件复制到libs;

2.3 添加jar包到项目引用

File ->Project Structure->选择对应module->切换到"Dependencies"选项->加号选择Jar dependency

->选择需要的jar;

AndroidStudio配置百度地图AndroidSDK项目

3. 应用混淆

为了保证百度类不被混淆,在proguard-rules.pro中添加:

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

4. 添加权限和百度key

在AndroidManifest.xml中添加权限和百度key

4.1 添加权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
//获取设备网络状态,禁用后无法获取网络状态
<uses-permission android:name="android.permission.INTERNET"/> 
//网络权限,当禁用后,无法进行检索等相关业务
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
//读取设备硬件信息,统计数据
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> 
//读取系统信息,包含系统版本等信息,用作统计
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
//获取设备的网络状态,鉴权所需网络代理
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
//允许sd卡写权限,需写入地图数据,禁用后无法显示地图
<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
//获取统计数据
<uses-permission android:name="android.permission.GET_TASKS" /> 
//鉴权所需该权限获取进程列表
<uses-permission android:name="android.permission.CAMERA" />  
//使用步行AR导航,配置Camera权限

4.2 添加百度Key

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="开发者 key" />  
</application>

5 代码编写

5.1 在xml中添加MapView

<com.baidu.mapapi.map.MapView  
    android:id="@+id/bmapView"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:clickable="true" />

5.2 初始化Baidu SDK中的Context

public class MainActivity extends Activity {  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_main);  
    }  
}
注意:在SDK各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中

5.3 MapView生命周期管理

特别在onDestroy()中需要销毁MapView,不然容易引起崩溃;

@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();  
        }  
    }