2015-10-26 56 views
1

我是Android Studio新手,目前正在嘗試創建使用NOAA Web服務的應用程序。我非常困惑如何從這個API檢索數據。我有一個令牌,但我不確定如何開始。我不想使用SOAP客戶端,我需要響應爲JSON。這種天氣功能是用Java編寫的一個更大的應用程序的一部分,這個應用程序是在Android Studio中開發的,並且期望JSON中的響應存儲在數據庫中,因此我需要使用API​​ v2,並且大量示例使用API傳統。Android Studio:NOAA Rest API

文檔(http://www.ncdc.noaa.gov/cdo-web/webservices/v2)提供了一個基本URL和終點,但隨後開始談論頭和使用 「捲曲-H‘令牌:’URL或 $阿賈克斯(網址:{url :,數據:{}頭:{token:}})「。 從我可以告訴,這些都沒有用於Java開發和捲曲-H是爲Linux或一些jQuery的東西?

應用程序需要使用緯度/經度位置來獲取小時天氣數據。我得知我需要使用HttpURLConnection,而不是,我遇到了需要使用參數爲頭和基礎URL創建的對象類型。我甚至可以使用java和android studio來做到這一點?

回答

1

curl只是一個用於執行http-requests的unix命令行工具。您可以使用幾乎任何您喜歡的語言執行http請求,因爲HTTP只是一種協議。 無論您使用何種語言,您都需要了解幾乎所有與互聯網相關的編程的HTTP協議基礎知識。

curl的好東西,你可以在命令行上用它來實驗,不需要編寫真正的程序。所以您可以更改請求的參數,並查看您得到的響應。 比你所需要做的是用java做請求(包括http-headers,特別是認證)。

然後你當然需要分析json格式的響應,所以你需要一個json解析器(或者對於簡單的響應,例如用正則表達式來僞裝它可能是可能的。您需要使用真正的json解析器)

+0

感謝您的快速響應。那麼捲曲-H是什麼意思?這是否意味着它是頭部?此外,我會爲URLConnection.setRequestProperty()方法使用什麼?我看到了不同的答案,並且沒有一個例子看起來與我的類似 –

+0

如果您想查找curl的參數,您可以使用命令行並使用「man curl」獲取手冊,或者使用您最喜歡的互聯網搜索機。任何是的,它是指定額外的HTTP頭。 – Meier

+0

要在java中設置一個類似「token:ABC123」的http-header,你可以使用URLConnection.setRequestProperty('token','ABC123')。 – Meier