快速學會

使用開源的API

甚麼是API?

根據Wiki的定義『應用程式介面(英語:Application Programming Interface,簡稱:API),又稱為應用編程介面,就是軟體系統不同組成部分銜接的約定』

以Android來說

TextView text = (TextView)findViewById(R.id.text);
text.setText("耀德好棒棒好");

setText(String str)  就是一個API

你不需要知道裡面在幹嘛,你只要知道怎麼用就好

以網頁服務來說

這樣的一串網址就是一個API,我們稱之為"Http Get",後面的 ch =784-1 就是他的參數,如果更改為ch =784-2就能達到換頁的效果

工具

政府開源的API

捷運動態資料API來當作範例

{ "MRT":[{ "descr":"南岡山","arrival":"6","next_arrival":"14"},
 { "descr":"小港","arrival":"3","next_arrival":"11"} ]}

會獲得一組  JSON

為了好讀我們能使用

寫code之前要先測試API能使用

善用別人做好的輪子

  • github - ion

dependencies {
    compile 'com.koushikdutta.ion:ion:2.+'
}
Ion.with(context)
.load("http://data.kaohsiung.gov.tw/Opendata/MrtJsonGet.aspx?site=102")
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
   @Override
    public void onCompleted(Exception e, JsonObject result) {
        // do stuff with the result or error
    }
});
JsonArray allTime = result.getAsJsonArray("MRT");
String time1 = allTime.get(0).getAsJsonObject().get("arrival").getAsString();
String time2 = allTime.get(0).getAsJsonObject().get("next_arrival").getAsString();
String time3 = allTime.get(1).getAsJsonObject().get("arrival").getAsString();
String time4 = allTime.get(1).getAsJsonObject().get("next_arrival").getAsString();

就是這麼簡單!

進階教學!!

阿別人API沒開源怎麼辦?!

幹! 那就偷阿!!

自己的API自己做

deck

By fuyaode

deck

  • 809