AndroidStudio配置百度地图AndroidSDK项目

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文件

扫描二维码关注公众号,回复: 2263289 查看本文章

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;

1.2.2 复制key或修改应用

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;

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

 

猜你喜欢

转载自blog.csdn.net/niuba123456/article/details/81122127
今日推荐