Android如何使用API

本文針對Android開發如何使用API文檔進行一些經驗分享。android

 

一、爲何須要掌握API的使用。api

也許你須要完成一個功能時不少時候你在網上google一番,由於極可能找到有用的代碼片斷,甚至不用關心具體實現的原理就能夠直接拿來用。你可能遇到過搜出來的結果不太使人滿意,尤爲是你須要完成的功能比較新穎,demo比較少。服務器

這個時候開發最好最快的途徑就是用好API,掌握好API的使用也是程序開發的必修課。網絡

 

二、API的重要性。函數

其實不少初學者都沒有查|API的習慣,緣由很簡單:API僅僅是對一些類庫、方法的介紹,不多有Sample,對於開發者來講是很難掌握的。首先你得清楚一點,全部的sample都源自於API,即便是你參考別人的sample其實也是間接的參考API。我的認爲在軟件開發過程當中API的重要性僅次於軟件設計,它是編碼的基礎,因此你不得不掌握API的使用,不是每次google都有你滿意的demo。google

 

三、如何使用API。編碼

其實至於如何使用API能夠根據我的習慣來定。今天我和你們分享我使用API的方法。具體仍是來一個具體點的例子:使用http提交一個表單,打印出返回值。設計

看到這個例子的時候咱們應該知道通常的網絡訪問的步驟(若是不知道那你就得補習相關的知識),或者至少你應該知道android系統中訪問網絡的方式。此處咱們採用HttpClient,下面咱們正式開始使用API(假如我之前沒有接觸過這個類)。3d

① 在doc上找到HttpClient這個類。blog

 

這是個interface,因此你還得找到它的一個實現,咱們看到它有三個子類,當你再去看看這三個子類分別作了什麼

 

很明顯,AbstractHttpClient是不能直接用的,由於是個抽象類。不過他有個子類DefaultHttpClient,這個子類以前看到過了吧。

再看看AndroidHttpClient 會發現它的API level 8,而DefaultHttpClient的API level 1,固然你能夠隨意選擇一個類來使用,考慮到向下兼容的問題。因此選用DefaultHttpClient。

 

② 在doc上找DefaultClient這個類。

這個類本身並無public方法,因此看看它繼承的方法。

 

 

簡單的結合方法說明,能夠看到,它須要執行execute方法就獲得服務器的返回值,再看方面裏面的參數咱們注意到HttpUriRequest 這個類,返回值是HttpResponse。因此先看看HttpUriRequest,再看HttpResponse。

 

③ 在doc上找HttpUriRequest 這個類。

 

它是個接口,可是有不少實現。若是你瞭解http相關知識的話那麼你應該從名字能夠知道他們大致的使用方向了(若是不瞭解的話那麼只有一個一個的去了解這個類的功能)。當我每一個類都看了了之後我發現HttpGet類能夠知足個人需求,那麼它的實現就選用HttpGet。

 

④ 在doc上找HttpGet這個類。

它的構造函數很簡單,並且除了getMethod就沒有其餘的方法了。(因此這個類算是很簡單了。)看看它的構造函數:

 

至於你選用哪個方法就看我的選擇了。我選擇String參數的構造方法。

 

⑤ 在doc上找HttpResponse這個類。

 

⑥ 其實就是反覆的查找api中的參數和返回值的一個過程。剩下的就省略了。

 

⑦ 完整的步驟。

到此爲止查找API就結束了,整理一下查找的結果。

HttpClient client = new DefaultHttpClient();

HttpUriRequest request = new HttpGet("http://www.baidu.com");

HttpResponse response = client.execute(request);

InputStream ins = response.getEntity().getContent();

ins就是返回值,以流的形式返回的,你須要把它轉化成ByteArrayInputStream就能夠獲得裏面的內容了(這裏的緣由api裏面並無)。

 

四、總結。

其實API的使用是比較簡單的,就是不停的查找,查參數,查返回值。方法大概如此,其餘通常狀況下沒有我說的這個例子這麼複雜,基本上查詢一兩次就搞定了。

PS:若是你有更好的方法,更快的方法,但願獲得你的建議。歡迎交流。

相關文章
相關標籤/搜索