(未显示1个用户的7个中间版本) | |||
第1行: | 第1行: | ||
+ | |||
<div class="devguide"> | <div class="devguide"> | ||
− | <div class="leftborderbg" style="height: | + | <div class="leftborderbg" style="min-height:1360px;"></div> |
− | <div class="devguideorder"><span>1</span> | + | <div class="devguideorder service-page-anchor"><span>1</span>打开/创建一个Android工程</div> |
<div class="devguidecenter"> | <div class="devguidecenter"> | ||
根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。 | 根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。 | ||
− | + | ||
</div> | </div> | ||
− | <div class="devguideorder"><span>2</span> | + | <div class="devguideorder service-page-anchor"><span>2</span>添加SDK(jar + so)</div> |
<div class="devguidecenter"> | <div class="devguidecenter"> | ||
下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。 | 下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。 | ||
− | + | ||
− | <span style="color:# | + | <span style="color:#F39700;">注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。</span> |
− | + | ||
下图为Android定位SDK文件结构示意图: | 下图为Android定位SDK文件结构示意图: | ||
− | + | ||
− | + | https://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildeclipse1.png | |
− | + | ||
下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例: | 下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例: | ||
− | + | ||
− | + | https://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildeclipse2.png | |
− | + | ||
− | <span style="color:# | + | <span style="color:#F39700;">'''注意:'''</span> |
− | + | ||
− | <span style="color:# | + | <span style="color:#F39700;">1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。</span> |
− | + | ||
− | <span style="color:# | + | <span style="color:#F39700;">2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。</span></div> |
− | <div class="devguideorder"><span>3</span> | + | <div class="devguideorder service-page-anchor"><span>3</span>添加AK</div> |
<div class="devguidecenter"> | <div class="devguidecenter"> | ||
Android定位SDK自V4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。 | Android定位SDK自V4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。 | ||
− | + | ||
+ | [http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/create-project/key AK如何获取?] | ||
+ | |||
在Application标签中增加如下代码: | 在Application标签中增加如下代码: | ||
− | <pre class="prettyprint codestyle"> | + | <div class="the-prettyprint01"> |
− | <meta-data | + | <div class="copy-btn" data-title="复制" data-clipboard-action="copy" data-clipboard-target="#code_dd01">https://mapopen-website-wiki.cdn.bcebos.com/wiki/android-loc-sdk/copy.png</div> |
+ | <pre class="prettyprint codestyle" id="code_dd01"> | ||
+ | <meta-data | ||
android:name="com.baidu.lbsapi.API_KEY" | android:name="com.baidu.lbsapi.API_KEY" | ||
android:value="AK" > | android:value="AK" > | ||
− | </meta-data> | + | </meta-data> |
− | </pre></div> | + | </pre> |
− | <div class="devguideorder"><span>4</span> | + | </div> |
+ | <div >LocationClient.setKey(xxxxxx);<br/> | ||
+ | 可在使用该接口与AndroidManifest.xml中配置AK值两种方法中任选一样进行设置。</div> | ||
+ | </div> | ||
+ | <div class="devguideorder service-page-anchor"><span>4</span>添加定位权限</div> | ||
<div class="devguidecenter"> | <div class="devguidecenter"> | ||
使用定位SDK,需在Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下: | 使用定位SDK,需在Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下: | ||
第42行: | 第51行: | ||
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service> | <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service> | ||
</pre> | </pre> | ||
− | + | ||
除添加service组件外,使用定位SDK还需添加如下权限: | 除添加service组件外,使用定位SDK还需添加如下权限: | ||
− | <pre class="prettyprint codestyle"> | + | <div class="the-prettyprint01"> |
+ | <div class="copy-btn" data-title="复制" data-clipboard-action="copy" data-clipboard-target="#code_dd02">https://mapopen-website-wiki.cdn.bcebos.com/wiki/android-loc-sdk/copy.png</div> | ||
+ | <pre class="prettyprint codestyle" id="code_dd02"> | ||
<!-- 这个权限用于进行网络定位--> | <!-- 这个权限用于进行网络定位--> | ||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> | <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> | ||
− | <!-- | + | <!-- 这个权限用于访问系统接口提供的卫星定位信息--> |
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> | <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> | ||
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> | <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> | ||
第55行: | 第66行: | ||
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> | <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> | ||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> | <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> | ||
− | |||
− | |||
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--> | <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--> | ||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> | ||
<!-- 访问网络,网络定位需要上网--> | <!-- 访问网络,网络定位需要上网--> | ||
− | <uses-permission android:name="android.permission.INTERNET" | + | <uses-permission android:name="android.permission.INTERNET"></uses-permission> |
− | + | </pre> | |
− | <uses-permission | + | </div> |
− | </ | + | </div> |
</div> | </div> |
2022年9月7日 (三) 19:40的最后版本
1打开/创建一个Android工程
根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。
2添加SDK(jar + so)
下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。
注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。
下图为Android定位SDK文件结构示意图:
下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例:
注意:
1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。
2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。3添加AK
Android定位SDK自V4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。
在Application标签中增加如下代码:
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="AK" > </meta-data>
LocationClient.setKey(xxxxxx);
可在使用该接口与AndroidManifest.xml中配置AK值两种方法中任选一样进行设置。
可在使用该接口与AndroidManifest.xml中配置AK值两种方法中任选一样进行设置。
4添加定位权限
使用定位SDK,需在Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下:
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>
除添加service组件外,使用定位SDK还需添加如下权限:
<!-- 这个权限用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <!-- 这个权限用于访问系统接口提供的卫星定位信息--> <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.WRITE_EXTERNAL_STORAGE"></uses-permission> <!-- 访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET"></uses-permission>