Android如何使用API
本文針對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