首先,我是德國人,所以很抱歉我的英語不好;) 我爲我的學校編寫了一個應用程序,如果課程被取消,會給學生一個通知。我的學校更新互聯網上的替代計劃。這是一個.htm文件。 (http://www.dbg-filderstadt.de/fileadmin/dateien/Dokumente/w00000.htm)將Html原碼保存爲字符串
所以問題是我是新的Android/Java編碼,我不知道如何獲取保存在字符串中的網站的信息/源代碼。
你能給我一個示例代碼如何做到這一點?
首先,我是德國人,所以很抱歉我的英語不好;) 我爲我的學校編寫了一個應用程序,如果課程被取消,會給學生一個通知。我的學校更新互聯網上的替代計劃。這是一個.htm文件。 (http://www.dbg-filderstadt.de/fileadmin/dateien/Dokumente/w00000.htm)將Html原碼保存爲字符串
所以問題是我是新的Android/Java編碼,我不知道如何獲取保存在字符串中的網站的信息/源代碼。
你能給我一個示例代碼如何做到這一點?
的一個辦法是按照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.+'
如果你想簡單地建立一個HTTP連接來下載一個HTML文件,你可以使用例如http://developer.android.com/reference/java/net/HttpURLConnection.html。然後您必須從中讀取輸入流並將其轉換爲字符串,然後通過某種方式解析HTML。
但是請注意,讓應用程序通過互聯網閱讀HTML資源並不是真正的正常或可取的方法,理想情況下,您希望通過某種API訪問您的信息。通過下載和解析HTML,您的應用程序將變得依賴於HTML資源不會更改並破壞您的解析代碼等。這真的很脆弱。
你打算髮送整個文件作爲通知嗎?你能不能通知他們有變化,那是哪裏看的? – DanielM
你想要顯示的網址內容?在瀏覽器中打開網址。此鏈接將幫助您http://stackoverflow.com/questions/2201917/how-can-i-open-a-url-in-androids-web-browser-from-my-application – Signare
http://stackoverflow.com/questions/11338486/how-to-save-html-page-file-in-applications-database-in-android 這樣的事情? – BooNonMooN