关于Android studio导入百度地图API的方法

至于如何在百度API创建项目需要的SHA1和key.这里就不说了,不会的去百度一下吧,这里重点说一下SDK下载完成后,后面的步骤
SDK下载如下图:(选好所需的功能下载即可)


下载解压后 就会看到一个libs的文件夹,打开后如下:

关于Android studio导入百度地图API的方法_第1张图片

第一步:BaiduLBS_Android.jar包添加到项目的libs中,右击——>As Library即可

第二步:在项目工程的src/main下新建一个名为jniLibs的文件夹,然后再把剩下的5个文件夹全部copy进去,这样就搞定了!如图:

这样就可以愉快的进行开发了!!

activity_main xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.lenovo.baidumap.MainActivity">

    <com.baidu.mapapi.map.MapView  android:id="@+id/baidumap" android:layout_width="match_parent" android:layout_height="match_parent"/>

</RelativeLayout>

MainActivity.java代码:

package com.example.lenovo.baidumap;

import android.app.Activity;
import android.os.Bundle;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;

public class MainActivity extends Activity {
    private MapView mapView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext
        //注意该方法要再setContentView方法之前实现
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
        mapView = (MapView) findViewById(R.id.baidumap);
    }

    @Override
    protected void onResume() {
        super.onResume();
        mapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mapView.onPause();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mapView.onDestroy();
    }
}

最后,别忘了配置清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.lenovo.baidumap">
    <!-- SDK2.1新增获取用户位置信息 -->
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"></uses-permission>
    <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
    <!-- SDK1.5需要android.permission.GET_TASKS权限判断本程序是否为当前运行的应用 -->
    <uses-permission android:name="android.permission.GET_TASKS"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
    <!-- 这个权限用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <!-- 这个权限用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
    <!-- 用于读取手机当前的状态-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
    <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <!-- 访问网络,网络定位需要上网-->
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <!-- SD卡读取权限,用户写入离线定位数据-->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
    <!--允许应用读取低级别的系统日志文件 -->
    <uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
    <!-- 定位所需的权限 -->
    <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"></uses-permission>
    <!--对于很高的分辨率,除采用相应的图片外,还需要加上如下配置,来更好的适配屏幕 -->
    <supports-screens  android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true"/>

    <application  android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme">
        <meta-data  android:name="com.baidu.lbsapi.API_KEY" android:value="你的key"/>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".LocationActivity"></activity>
        <service  android:name="com.baidu.location.f" android:enabled="true" android:process=":remote">
            <intent-filter>
                <action android:name="com.baidu.location.service_v2.2"/>
            </intent-filter>
        </service>
    </application>

</manifest>

你可能感兴趣的:(关于Android studio导入百度地图API的方法)