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

来源:互联网 发布:单片机uart是什么意思 编辑:程序博客网 时间:2024/05/01 06:46

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

这里写图片描述
下载解压后 就会看到一个libs的文件夹,打开后如下:

这里写图片描述

第一步: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>
2 0
原创粉丝点击