Android获取HTML数据_安卓从Internet获取HTML例子
2014-09-16 18:44:35  By: dwtedx

从网络中获取一张 HTML 页面的内容、相信很多哥们会有这个需求、同样

今天我也遇到了这个问题、在网络上查找了很多资料、最后还是研究出来了

那下面我把我的研究成果和大家分享一下、希望对一些哥们有帮助、话不多说

下面是封装的一个用于获取 HTML 页面的一个类、哥们只需要在自己的 Activity 里面调用即可

package com.dwtedx.service;  

import java.io.InputStream;  
import java.net.HttpURLConnection;  
import java.net.URL;  
import com.dwtedx.utils.StreamTool;  
  
public class HtmlService {  
  
	public static String getHtml(String path) throws Exception {  
		URL url = new URL(path);  
		HttpURLConnection conn = (HttpURLConnection)url
			.openConnection();  
		conn.setRequestMethod("GET");  
		conn.setConnectTimeout(5 * 1000);  
		//通过输入流获取html数据  
		InputStream inStream = conn.getInputStream();
		//得到html的二进制数据  
		byte[] data = readInputStream(inStream);
		String html = new String(data, "gb2312");  
		return html;  
	}
	
	public static byte[] readInputStream(InputStream inStream) 
		throws Exception{  
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
		byte[] buffer = new byte[1024];  
		int len = 0;  
		while( (len=inStream.read(buffer)) != -1 ){  
			outStream.write(buffer, 0, len);  
		}  
		inStream.close();  
		return outStream.toByteArray();  
	}  
}
下面我把我在 Activity 里面的调用方法贴出来

package com.dwtedx.html;  
  
import com.dwtedx.service.HtmlService;  
import android.app.Activity;  
import android.os.Bundle;  
import android.util.Log;  
import android.widget.TextView;  
import android.widget.Toast;  
  
public class MainActivity extends Activity {  
	//Called when the activity is first created.
	@Override  
	public void onCreate(Bundle savedInstanceState) {  
		super.onCreate(savedInstanceState);  
		setContentView(R.layout.main);  
		  
		TextView textView = (TextView)this
			.findViewById(R.id.textView);  
		try {  
			textView.setText(HtmlService
				.getHtml("http://www.dwtedx.com"));  
		} catch (Exception e) {  
			Log.e("MainActivity", e.toString());  
			Toast.makeText(MainActivity.this, 
				"网络连接失败", 1).show();  
		}  
		  
	}  
}


若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


猜你喜欢的

快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+