Android如何使用API

來源:互聯網
上載者:User

標籤:方式   結果   設計   基本   整理   ima   etc   pre   new   

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

 

1、為什麼需要掌握API的使用。

也許你需要完成一個功能時很多時候你在網上google一番,因為很可能找到有用的程式碼片段,甚至不用關心具體實現的原理就可以直接拿來用。你可能遇到過搜出來的結果不太令人滿意,尤其是你需要完成的功能比較新穎,demo比較少。

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

 

2、API的重要性。

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

 

3、如何使用API。

其實至於如何使用API可以根據個人習慣來定。今天我和大家分享我使用API的方法。具體還是來一個具體點的例子:使用http提交一個表單,列印出傳回值。

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

① 在doc上找到HttpClient這個類。

 

這是個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裡面並沒有)。

 

4、總結。

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

PS:如果你有更好的方法,更快的方法,希望得到你的建議。歡迎交流。

Android如何使用API

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.