標籤:方式 結果 設計 基本 整理 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