日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 百度开发论坛,Android 百度地图开发(一)

發布時間:2023/12/2 Android 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 百度开发论坛,Android 百度地图开发(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在好多手機應用開發需要使用到百度地圖,在使用百度地圖的過程和遇到的問題整理一下方便以后使用

申請密鑰

使用白度地圖首先需要申請API Key,申請百度賬戶才能得到API Key. 登錄 http://developer.baidu.com/map/ 點擊申請密鑰

申請過程中需SHA1,使用Eclipse的同學應該很容易使用圖像工具找到,但是使用Android-studio的同學可能找不到,我也沒有找到

我找的過程是,打開cmd,或者在AS中的Terminal.找到debug-keystore文件,比如我的是D:\Users\*****\.android.

在Termina中進入該文件目錄,然后輸入"keytool -list -v -keystore debug.keystore",命令,記住進入目錄下.

申請密鑰的其他步驟就不在此多說了.拿的密鑰后我們就可以正式在我們的App中使用了.

正式開發

創建好項目后,首先將API包括的兩個文件baidumapapi.jar和libBMapApiEngine.so拷貝到工程根目錄及libs\armeabi目錄下,

AS添加jar有兩種方法,一種是在所要添加的jar上右鍵選擇"Add as library"即可,一種是打開build.gradle,build.gradle有兩個

一定要打開項目內部的build.gradle,添加下面的代碼,

dependencies {

.....

compile files('libs/BaiduLBS_Android.jar')

}

基本使用

在AndroidManifest.xml中添加

android:name="com.baidu.lbsapi.API_KEY"

android:value="AK" />

name就是上面的name不要改變,value是你申請到的AK.

百度API所需權限

基本是那個就是這些權限了.

在自己的xml文件中加入mapview,

android:id="@+id/m_mapview"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:clickable="true" />

在Activity中的onCreate方法中,

private MapView mBaiduMapView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

initBaiduMap();

}

注意兩點,

1.initialize方法中必須傳入的是ApplicationContext,傳入this,或者MAinActivity.this都會報運行時異常.

2.initialize方法必須寫在setContentView方法前面,新同學也許會寫在后面結果報xml中的錯誤.

private void initBaiduMap(){

mBaiduMapView = (MapView) findViewById(R.id.m_mapview);

}

寫到這里基本上就可以運行出效果了.

@Override

protected void onResume() {

super.onResume();

mBaiduMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

mBaiduMapView.onPause();

}

@Override

protected void onDestroy() {

mBaiduMapView.onDestroy();

mBaiduMapView = null;

super.onDestroy();

}

有的新同學使用AS運行的時候會報錯,我寫出我自己遇到的幾個錯誤.

1.java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.basemap.JNIBaseMap.Create:()J

這個是由于在AS上我們將.so文件放在了libs文件夾中,在AS中這樣是不行的.我們需要將其放在JniLibs文件夾中,于是有的新同學就自己創建了

JniLibs文件夾結果還是不行,這個時候新同學可以仔細看一下你所創建的JniLibs文件夾和res文件是否一樣,有個金黃色的圓柱行的標志,在右下角.

如果沒有那就對了新同學其實不需要自己添加JniLibs文件夾的.我們所要做的是:

打開項目內部的build.gradle,添加下面的代碼,

sourceSets {

main {

jniLibs.srcDir 'libs'

}

}

再看一下是否有了JniLibs文件夾.這樣就不會后此錯誤了.

2.也許運行的時候會遇見230錯誤,Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode碼校驗失敗.

這個其實基本上是自己的AK出現了問題,你可以查看自己的SHA1是否正確,申請密鑰時填寫的包名是否完整.

另外有的同學的電腦上有兩個\.android\debug-keystore文件,我就是這樣被坑了的.所有確認一下自己的AS所對應的debug-keystore文件.

今天就寫到這里,后續我還會在繼續使用百度地圖踩踩坑,總結一下為新同學填坑.

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

總結

以上是生活随笔為你收集整理的android 百度开发论坛,Android 百度地图开发(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。