1. 程式人生 > >Android應用程式整合第三方API(以高德Map API為例)

Android應用程式整合第三方API(以高德Map API為例)

在Android應用程式裡面呼叫第三方API服務,可以方便、快速地開發出我們想要的一些功能。由於某些眾所周知的原因,現在Google的各種服務基本上被封鎖了,因此我們以高德Map API為例,講解如何呼叫第三方地圖服務。

環境:windows 、Android Studio 1.5  、Android 4.0 以上版本手機

一 、 獲取Map API Key

為了在應用程式中呼叫第三方高德Map服務,必須先獲得第三方的API Key。

1.開啟Android Studio ,新建一個普通APP工程名為MapTest;

2.找到該工程的數字證書的keystore的儲存路徑,一般來說,預設是在C:\Users\Administrator\.android目錄下有個debug.keystore,用來除錯APP的數字證書;

3.使用sun公司提供的keytool工具檢視keystore的認證指紋,該工具包含在JDK的安裝路徑中(PS:如果在命令列執行keytool工具提示“找不到該命令”,說明還未在系統的PATH環境變數中新增JDK的安裝路徑,該路徑的bin目錄下包含了java.exe 、javac.exe以及keytool.exe工具)。在Android Studio 的terminal視窗,輸入如下:keytool -list-v -keystore <Android keystore 的儲存位置> , 例如:keytool -list -v -keystore C:\Users\Administrator\.android\debug.keystore ,預設密碼是android。


4.記住上圖所示的SHA1對應的認證指紋,登入高德API網站:http://id.amap.com 如果你第一次使用,可以點選“立即免費註冊”,過程很簡單,註冊完成後就擁有了一個高德開發者賬號,並登入,進入控制檯,點選“建立新應用”,填寫申請key的資訊,選擇Android平臺的sdk,填寫的安全碼即為上圖獲得的SHA1,輸入應用的包名,最後點選“獲取KEY” ,就可以為該應用程式獲取一個API Key ,如下圖所示::


二 、 獲得API

現在我們獲得了一個API Key ,接下來就很容易在應用程式中使用高德地圖了。高德地圖提供了一個MapView 元件,它繼承了FrameLayout ,因此它的本質就是一個容器控制元件。所以我們可以直接將它新增到應用介面上。

1.下載高德地圖sdk

登入http://lbs.amap.com/api/android-sdk/download,我們以高德3D地圖為例,點選下載,得到:AMap3DMap_AMapSearch.zip


2.將下載的壓縮包解壓,將會得到兩個資料夾:arm64-v8a 、armeabi 和一個jar包(AMap3DMap_4.1.3_AMapSearch_4.0.0_20170111.jar)。從名字上看,這個sdk包應該包含了我們APP裡面需要的3D地圖和搜尋等基本服務,它們其實是一些庫檔案*.so,和java介面檔案,像linux下面的封裝好的c/c++庫,我們在手機裡執行應用程式時會用到這些庫,用來操作到linux核心和硬體。這裡不做過多介紹,畢竟Android並不像linux那樣完全開源的。

3.將得到的jar包複製到Android應用程式的app/libs/目錄下,然後在Android studio 工程中選中這個jar包,右鍵“Add As Library...” 將jar包新增到工程當中。


4. 在Android應用的app/src/main/目錄下新建一個jniLibs子目錄,將解壓的arm64-v8a 、armeabi 資料夾複製到該目錄下。

三、使用API

前面的步驟中已經將下載好的API放在了工程裡面,接下來就可以使用它們了!

1.配置

開啟AndroidManifest.xml,在檔案的application單元裡面新增一個<meta-data ... / > 子單元 , 注意 android : value 填寫自己申請得到的API Key

接著在該檔案中新增如下應用許可權設定 (地圖SDK(包含其搜尋功能)需要的基礎許可權):


2.使用MapView元件顯示簡單的地圖介面

MapView元件與普通的Android元件區別不大,可以在content_main.xml 檔案中如下設定:


接下來需要在Activity的生命週期內回撥該MapView的生命週期的方法:

首先宣告、定義MapView:


在onCreate方法中回撥MapView的onCreate方法,初始化aMap物件,並定義和設定ToggleButton按鍵的監聽方法(選擇切換地圖的顯示模式):


在onResume方法中回撥MapView的onResume方法 :


在onPause方法中回撥MapView的onPause方法 :


onDestroy方法中回撥MapView的onDestroy方法 :


 onSaveInstanceState方法中回撥MapView的onSaveInstanceState方法,並傳入outState引數:


3.安裝,建議安裝到真機測試,顯示介面如下:



三、總結

可見,在自己的app中使用這些API是非常簡單的。以上只是簡單新增介面到APP裡面,我們還可以根據高德的官方文件使用內部更多的定位、地址解析和反向地址解析的方法介面,可以更充分地利用它在Android平臺開發出手機地圖、車載導航等產品。

高德地圖Android SDK文件:http://lbs.amap.com/api/android-sdk/guide/create-map/show-map

相關推薦

Android應用程式整合第三方API(Map API)

在Android應用程式裡面呼叫第三方API服務,可以方便、快速地開發出我們想要的一些功能。由於某些眾所周知的原因,現在Google的各種服務基本上被封鎖了,因此我們以高德Map API為例,講解如何

Android應用內呼叫百度,,谷歌地圖導航

最近專案中有個呼叫百度地圖導航的需求,雖然網上一找一堆,還是覺得自己記錄一下比較方便。1.百度導航//開啟百度導航 public void startNavi() { //百度地圖,從起點是La

fiddler應用--修改請求、響應--豆瓣網搜尋功能

以豆瓣網搜尋功能為例,從搜尋關鍵詞(即請求,request)到返回結果(即響應,response),正常為流程一: 1-瀏覽器將請求A傳送給伺服器。 2-伺服器收到請求A,將對應的響應a返回給瀏覽器。 3-瀏覽器收到響應a。 開啟fiddler後,變為流程二: 1-瀏覽器將請求A傳送

map api

可實現右鍵點位 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html

線上生成android應用程式初探(線上生成EPUB電子書

最近發現國內有的公司提供線上編輯並自動編譯生成android應用程式的產品。覺得有點意思,正好有幾個朋友老說需要epub格式的電子書,看了看android的SDK,自己業餘時間做了個線上生成apk電子書閱讀器和epub電子書的程式。近一週沒有看電視了,有必要把整個實現過程分

瀏覽器判別下載安裝/開啟Android應用程式

摘要: 通過手機瀏覽器直接開啟Android應用程式。 如果本地已經安裝了指定Android應用,就直接開啟它; 如果沒有安裝,則直接下載該應用的安裝檔案(也可以跳轉到下載頁面)。 之前寫過一篇blog,介紹如何通過點選手機瀏覽器中的連結,直接開啟本地Android App。 實現方式

Android應用程式框架講解

在我們的android的程式中會有很多的檔案,那麼這些檔案到底是有什麼作用呢? 我們編譯android專案,可以使用eclipse和AS,首先介紹一下eclipse中的框架 1、src檔案:存放的是應用程式使用到的java檔案 2、gen檔案:系統自動生成的目錄。不需要程式設計師進行

android應用程式的介面程式設計

要點 android的介面與view元件 view元件和viewgroup元件 android控制程式的三種方式 通過繼承view開發自定義view android常見的佈局管理器 文字框元件:textview和edittext 按鈕元件:button 特殊按鈕元件:radiobut

Android應用程式進行系統簽名

有時寫一個程式需要呼叫系統的庫,如果許可權不夠,是用不了庫裡面一些方法的 。這時就需要將apk進行系統簽名。  簡單常用的方法:                 1,在apk的AndroidMani

Android應用程式簽名打包(AS)

使用Android studio對Android應用簽名步驟: 第一步: 第二步: 第三步: 第四步: 數字證書建立完成後,點選OK----->點選Next------>Finish。 注意:生成後的數字證書千萬不能丟失,還有密碼也不能忘記了

怎麼獲取Android應用程式的上下文

前面我做了一個類似於騰訊QQ一樣的聊天應用,在這個應用裡面,有很多activity,而這些activity之間經常要進行互相啟動、往復跳轉、還有就是通過Notification啟動。當activity多了之後,如果設定他的模式為單例模式,或者不設定模式。在反覆啟動後會出現數據不同步、fc等各種未知的

Android 應用程式崩潰日誌捕捉

程式崩潰是應用迭代中不可避免的問題,即使有著5年或者10年經驗的程式猿也無法完全保證自己的程式碼沒有任何的bug導致崩潰,現在有一些第三方平臺可以幫助我們蒐集應用程式的崩潰,比如友盟,詳情如下圖 雖然能夠看到崩潰的日誌以及機型等,但還是不是很方便,如果需要精確定位的話需要使用者提供崩潰的時間點、機型

轉老羅 Android應用程式資源的查詢過程分析

原文地址  http://blog.csdn.net/luoshengyang/article/details/8806798   轉載請說明     我們知道,在Android系統中,每一個應用程式一般都會配置很多資源,用來適配不同密

轉自老羅 Android應用程式資源的編譯和打包過程分析

原文地址   http://blog.csdn.net/luoshengyang/article/details/8744683 轉載自老羅,轉載請說明   我們知道,在一個APK檔案中,除了有程式碼檔案之外,還有很多資原始檔。這些資原始檔是通過An

轉自 老羅 Android應用程式資源管理器(Asset Manager)的建立過程分析

原文地址在 http://blog.csdn.net/luoshengyang/article/details/8791064 原創老羅,轉載請說明     在前面一篇文章中,我們分析了Android應用程式資源的編譯和打包過程,最終得到的應用程式資源就與

模組化惡意Android應用程式偽裝成語音工具,通過調查收集PII資料

“這些惡意應用程式和惡意軟體的觀察變體自10月份開始逐一部署,其演變包括規避技術及其感染行為分為幾個階段,”趨勢科技在他們的分析中表示。 在嘗試通過虛假調查收集使用者的個人身份資訊(PII)並提供禮品卡作為獎勵以填寫它們時,已經觀察到被稱為AndroidOS_FraudBot.OPS的惡意軟體。此外,惡意應

spark應用程式引用第三方的jar包(轉載備用)

第一種方式 操作:將第三方jar檔案打包到最終形成的spark應用程式jar檔案中 應用場景:第三方jar檔案比較小,應用的地方比較少 第二種方式 操作:使用spark-submit提交命令的引數: –jars 要求: 1、使用spark-sub

android應用程式的混淆打包(轉)

target=android-8 proguard.config=proguard.cfg Eclipse會通過此配置在工程目錄生成proguard.cfg檔案  2 . 生成keystore (如已有可直接利用) 按照下面的命令列 在D:\Program 

android應用程式安裝後點擊開啟帶來的問題

前幾天專案組反饋回來一個這樣的情況就是我在安裝應用之後點選了開啟 然後按home鍵 這個時候應用程式進入後臺 我點選手機桌面的時候圖片啟動應用程式 程式重新再次啟動 而不是後臺的程式返回到前臺;  /

Android開發-在Android應用整合友盟訊息推送SDK的實現(相容小米、華、魅族機型離線推送)

前 言 最近由於專案的功能需求的需要,需要在Android應用整合訊息推送的功能,而目前市面上的第三方訊息推送除了友盟推送外,還有極光推送、小米推送、個推以及信鴿(騰訊)推送等。當時本人對比各大第三方的訊息推送進行了測試,覺得友盟訊息推送整合簡單,推送訊息的