我正在使用dom解析器獲取頁面源代碼的項目,以獲取vb.net中的字符串中的html源代碼。如何從android中的url獲取HTML源代碼?
1)我想在android中實現相同的功能,通過在android中調用url來獲取網頁源代碼的方法是什麼。 2)我將在一個佈局中爲源代碼提供兩種佈局,而在網頁中則使用其他佈局。如果我正在更改源代碼佈局中的標題標記值,它必須在實際網頁上自動更新?
什麼是在android中做到這一點的最佳方法?
任何形式的幫助將不勝感激。
我正在使用dom解析器獲取頁面源代碼的項目,以獲取vb.net中的字符串中的html源代碼。如何從android中的url獲取HTML源代碼?
1)我想在android中實現相同的功能,通過在android中調用url來獲取網頁源代碼的方法是什麼。 2)我將在一個佈局中爲源代碼提供兩種佈局,而在網頁中則使用其他佈局。如果我正在更改源代碼佈局中的標題標記值,它必須在實際網頁上自動更新?
什麼是在android中做到這一點的最佳方法?
任何形式的幫助將不勝感激。
爲了從您可以使用此一網址獲取源代碼:
HttpClient httpclient = new DefaultHttpClient(); // Create HTTP Client
HttpGet httpget = new HttpGet("http://yoururl.com"); // Set the action you want to do
HttpResponse response = httpclient.execute(httpget); // Executeit
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent(); // Create an InputStream with the response
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) // Read line by line
sb.append(line + "\n");
String resString = sb.toString(); // Result is here
is.close(); // Close the stream
您也可以將某些PARAMS添加到HttpClient的管理超時和其他類似的東西。 例如:
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters,3000); // 3s max for connection
HttpConnectionParams.setSoTimeout(httpParameters, 4000); // 4s max to get data
HttpClient httpclient = new DefaultHttpClient(httpParameters);
您可以使用離子庫從任何URL獲取Html代碼。
轉到項目結構,點擊應用程序,點擊依存關係,點擊'+',只需鍵入ion,您將看到com.koushikdutta.ion:點擊:2.1.8點擊它並點擊確定。現在你可以使用離子庫從URL獲取html代碼。
public class HtmlCode extends Activity {
TextView tv;
public void onCreate(Bundle s)
{
super.onCreate(s);
setContentView(R.layout.httpexample);
tv = (TextView)findViewById(R.id.tvHttp);
Ion.with(getApplicationContext()).load("http://www.your_URL.com").asString().setCallback(new FutureCallback<String>() {
@Override
public void onCompleted(Exception e, String result) {
tv.setText(result);
}
});
}
}
感謝烏拉圭回合的建議,Lyrkan – mH16
對於你的問題的第二部分,我認爲它不應該處理的問題。我的意思是,對於顯示網頁(而不是源代碼)的佈局,我假設你要使用Webview,所以你只需要通過給它更新源代碼來更新它的內容。 – Lyrkan
它不工作。網頁不可用問題發生。 –