Android SDK 與 API

雖然API跟SDK還不至於傻傻分不清楚,但也還是迷迷糊糊的,在網路上看到幾個不錯的例子,趁著這個機會一併整理整理XDD

最後順便整理一下 Android API Level與SDK的版本對照表



API (Application Programming Interface,應用程式介面)

API 是一個讓開發者能夠存取 Library 裡面的 functions/methods 的介面,而無須了解 function 是怎麼運作、被實作的。

就我自己舉例,API是個公司的對外窗口,裡面的 Library 則是不同team,而 functions/ methods 而則是team裡面的RD,每個人可以執行不同工作,當我需要有人幫我寫程式,就去公司的對外窗口(API)去下單,只後要等著收程式就好,你不管是哪個team幫你生出來的。自己舉的例子或許不是很恰當,不過大概就是類似的邏輯概念。

在網路上還看到兩個有趣的例子

  • 在水面上對著湖中女神大喊「我掉的是金斧頭」,湖中女神就會丟出一把金斧頭(如果你沒說謊的話…),你不用知道到底她是怎麼找到你的斧頭的;同時,如果你不知道拿斧頭的規則(說謊),亂喊「我要金斧頭」,湖中女神就不會理你。所以可以說,湖中女神是一個 “Library”,有開出"拿斧頭的 API"。

  • API就是皮卡丘,提供鋼鐵尾巴跟雷電兩種技能給你呼叫。你不用研究皮卡為什麼皮卡丘會發電,也不用研究尾巴為什麼會變鋼鐵,反正你只要說,“上吧皮卡丘,使用雷電”。 皮卡丘是API提供界面給你呼叫技能的函式庫。



SDK (Software Development Kit,軟體開發工具包)

是用來幫一個 產品 或 平台 開發應用程式的工具組,由產品的廠商提供給開發者使用的,通常是 某一家廠商 針對某一 平台 或 系統 或 硬體 所發佈出來用以開發應用程式的工具組,在這個工具包裡面,可能包含了各式各樣的開發工具,模擬器、API等。

例如:Android針對不同的版號有不同的SDK,因此在Android Studio進行開發時需要針對你的平台安裝不同的SDK,而在SDK會提供相對應API以供使用



Android API Level與SDK的版本對照表

目前市面上常見的是API15以上的機種,所以這邊就從15開始列,N的部份就先不列了

API 版本號 版本名稱
API-15 Android 4.0.3 - 4.0.4 Ice Cream Sandwich
API-16 Android 4.1 Jelly Bean
API-17 Android 4.2 Jelly Bean
API-18 Android 4.3 Jelly Bean
API-19 Android 4.4 KitKat
API-20 Android 4.4W–4.4W.2 KitKat, with wearable extensions
API-21 Android 5.0-5.0.2 Lollipop
API-22 Android 5.1–5.1.1 Lollipop
API-23 Android 6.0–6.0.1 Marshmallow



參考資料

留言

這個網誌中的熱門文章

Genymotion 模擬器安裝篇:In ubuntu14.04 LET