專業論壇裏麵的小哥整理的一套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的使用是比較簡單的,就是不停的查找,查參數,查返回值。方法大概如此,其他一般情況下沒有我說的這個例子這麼複雜,基本上查詢一兩次就搞定了。
76.4M / 03-25
立即下載55M / 06-05
立即下載237.9M / 04-13
立即下載140.5M / 03-06
立即下載900.9M / 03-02
立即下載96.2M / 07-06
立即下載311.2M / 07-06
立即下載335M / 07-06
立即下載200M / 07-06
立即下載413.8M / 07-06
立即下載353.9M / 06-05
立即下載131.8M / 04-13
立即下載230.8M / 03-03
立即下載195.6M / 03-03
立即下載165.4M / 03-03
立即下載45.6M / 09-08
立即下載665.2M / 07-06
立即下載2.84G / 07-06
立即下載93M / 07-06
立即下載338.3M / 07-06
立即下載1.38G / 07-26
立即下載488.3M / 07-16
立即下載109.8M / 06-03
立即下載142M / 01-08
立即下載1.2M / 11-23
立即下載548.8M / 04-13
立即下載1.6M / 04-13
立即下載1.48G / 03-18
立即下載646.6M / 03-03
立即下載133.7M / 03-03
立即下載325.8M / 06-07
立即下載60M / 04-29
立即下載254M / 04-25
立即下載659M / 04-23
立即下載1M / 12-26
立即下載253.4M / 12-08
立即下載253M / 12-08
立即下載1.19G / 11-16
立即下載110.5M / 04-23
立即下載26.7M / 03-16
立即下載488.3M / 07-16
立即下載248.9M / 12-08
立即下載248.9M / 12-08
立即下載201.2M / 04-13
立即下載100.6M / 03-06
立即下載148.9M / 03-06
立即下載1.12G / 07-06
立即下載1.25G / 07-06
立即下載9.48G / 07-06
立即下載50KB / 07-06
立即下載116.2M / 04-10
立即下載1.92G / 04-17
立即下載201.5M / 04-13
立即下載7.31G / 07-01
立即下載94.3M / 07-06
立即下載2.48G / 07-06
立即下載7.63G / 07-06
立即下載1M / 07-06
立即下載778.1M / 07-06
立即下載509.7M / 07-06
立即下載561.8M / 07-11
立即下載1.32G / 01-19
立即下載72M / 07-06
立即下載548.7M / 07-06
立即下載1.00G / 07-06
立即下載9.13G / 07-06
立即下載126.2M / 07-06
立即下載72M / 07-06
立即下載105.1M / 07-06
立即下載132M / 07-06
立即下載