2015-04-21 86 views
0

首先,我是德國人,所以很抱歉我的英語不好;) 我爲我的學校編寫了一個應用程序,如果課程被取消,會給學生一個通知。我的學校更新互聯網上的替代計劃。這是一個.htm文件。 (http://www.dbg-filderstadt.de/fileadmin/dateien/Dokumente/w00000.htm將Html原碼保存爲字符串

所以問題是我是新的Android/Java編碼,我不知道如何獲取保存在字符串中的網站的信息/源代碼。

你能給我一個示例代碼如何做到這一點?

+0

你打算髮送整個文件作爲通知嗎?你能不能通知他們有變化,那是哪裏看的? – DanielM

+0

你想要顯示的網址內容?在瀏覽器中打開網址。此鏈接將幫助您http://stackoverflow.com/questions/2201917/how-can-i-open-a-url-in-androids-web-browser-from-my-application – Signare

+0

http://stackoverflow.com/questions/11338486/how-to-save-html-page-file-in-applications-database-in-android 這樣的事情? – BooNonMooN

回答

0

的一個辦法是按照Android文檔發送GET請求,並用下面的代碼使用凌空庫:

// Instantiate the RequestQueue. 
RequestQueue queue = Volley.newRequestQueue(this); 
String pageContent = ""; 
String url ="http://www.dbg-filderstadt.de/fileadmin/dateien/Dokumente/w00000.htm"; 

// Request a string response from the provided URL. 
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 
     new Response.Listener<String>() { 
@Override 
public void onResponse(String response) { 
    // Display the first 500 characters of the response string. 
    pageContent = response; 
} 
}, new Response.ErrorListener() { 
@Override 
public void onErrorResponse(VolleyError error) { 
    //do something 
} 
}); 
// Add the request to the RequestQueue. 
queue.add(stringRequest); 

在這種情況下,當你的請求成功(成爲響應碼200 OK從服務器 - 無錯誤),系統運行一個名爲onResponse的方法,並且您變成一個字符串(名爲response),這正是您請求的頁面內容。所以你可以把它保存到你的變量中並在以後使用它(例如我稱這個變量爲pageContent)。

我附上你一個鏈接到Android文檔,太:https://developer.android.com/training/volley/simple.html

不要忘了在你的AndroidManifest.xml中添加的權限請求網: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 和凌空庫下面的依賴你的build.gradle文件:compile 'com.mcxiaoke.volley:library:1.0.+'

0

如果你想簡單地建立一個HTTP連接來下載一個HTML文件,你可以使用例如http://developer.android.com/reference/java/net/HttpURLConnection.html。然後您必須從中讀取輸入流並將其轉換爲字符串,然後通過某種方式解析HTML。

但是請注意,讓應用程序通過互聯網閱讀HTML資源並不是真正的正常或可取的方法,理想情況下,您希望通過某種API訪問您的信息。通過下載和解析HTML,您的應用程序將變得依賴於HTML資源不會更改並破壞您的解析代碼等。這真的很脆弱。

相關問題