2012-03-11 34 views
0

我不知道這種類型的節目的正式名稱,但所有我想要做的是以下幾點:我需要爲了在應用程序中訪問網頁什麼

比方說,我想使用谷歌翻譯服務,所以我創建了一個應用程序(android應用程序,或一些本地應用程序,它是在本地機器上運行的Java),並且在這個應用程序中我想輸入一個單詞,當我找到時,我需要我的應用程序將這個詞輸入谷歌翻譯並將結果帶給我的應用程序。

谷歌翻譯僅僅是一個例子,所以我想知道,我應該使用它來創建這樣的軟件

另一個例子,把事情說清楚什麼是正確的名稱和正確的一般路徑,爲Android應用方式來創建一個應用程序,使用http://www.flickr.com/挑選隨機圖片和顯示它們,當用戶點擊刷新按鈕時,將出現另一組新圖片

所以你看,在第二個例子中,我試圖操作一個網站從它獲得一些空間功能,而不是顯示整個網站。

我知道的文案,做這樣的事情,如果這是考慮到非法之前請求允許從網站的所有者。

謝謝

+0

+1使用API​​。 檢查[這裏] [1] SO張貼一個良好的開端。 [1]:http://stackoverflow.com/questions/2246017/c-sharp-google-translate – oolong 2012-03-11 08:29:18

+0

謝謝,但我想我在這裏選擇了錯誤的榜樣採摘谷歌這顯然有API服務。但我的問題是利用網站服務的一般化形式。如果一個沒有API的網站,我是否需要像瀏覽器一樣製作我的應用程序,然後分析每個請求? – Shakash3obd 2012-03-11 08:57:33

回答

0

我明白,你需要連接到一個網站,下載網頁(HTML文件),並對其進行處理,以便向用戶顯示該處理的結果。 我認爲你可以使用兩個不同的類: - HttpURLConnection:它包含在java.net中。他接着用一個例子鏈接: http://www.androidsnippets.com/http-requests-with-java-api-urlconnection - HTTPGET和HttpPost:包含在Android系統。用一個例子鏈接: http://w3mentor.com/learn/java/android-development/android-http-services/example-of-http-get-request-using-httpclient-in-android/

使用哪一個?我擔心這取決於你的項目。通過HttpURLConnection,您可以對http命令進行更多的控制(即可以發送HEAD命令)。

0

您應該使用您正在使用的網站的API服務。 例如用於谷歌翻譯,(儘管你可以通過在本地創建意圖使這個)你應該做一個URL調用谷歌的API服務翻譯和解析未來的JSON結果(有可能是庫解析)。然後根據結果你應該更新你的用戶界面。通過適當的用戶操作(如按鈕點擊或文本輸入),您可以檢索並顯示遵循此模式的數據。您可以在以後通過緩存數據等提高使用

+0

從我對你的理解,這是否意味着每個網站都應該有一個程序員可以使用的API? – Shakash3obd 2012-03-11 08:47:34

+0

並非所有的網站都有api。但是如果網站允許程序員使用它的數據,那麼它應該有一個API。我不認爲從一個沒有API的網站獲取實時信息是一個好主意(大開銷加html源代碼可能會改變) – 2012-03-11 08:49:22

相關問題