Android download webpage source code shows webpage without pictures

running result:

Pages with pictures are not displayed.

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

java

public class web extends Activity {

	private WebView webView;
	StringBuffer data = new StringBuffer();

	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.web);
		// webView通过数据显示网页的组件
		webView = (WebView) findViewById(R.id.webView);
		// WebSettings作用:对WebView进行配置和管理
		WebSettings webSettings = webView.getSettings();
		webSettings.setLoadsImagesAutomatically(true); // 支持自动加载图片
		webSettings.setUseWideViewPort(true); // 将图片调整到适合webview的大小
		webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
		// 如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
		webSettings.setJavaScriptEnabled(true);
		new webData().execute("https://www.baidu.com/");

	}

	class webData extends AsyncTask<String, Void, StringBuffer> {
		@Override
		protected void onPostExecute(StringBuffer result) {// 和Asynck参数三一样
			// TODO Auto-generated method stub
			super.onPostExecute(result);
			webView.loadData(data.toString(), "text/html;charset=utf-8",
					"utf-8");
		}

		@Override
		protected StringBuffer doInBackground(String... arg0) {// 和AsyncTask参数一一样
			// TODO Auto-generated method stub
			URL url;
			try {
				url = new URL(arg0[0]);
				try {
					HttpURLConnection httpConection = (HttpURLConnection) url
							.openConnection();
					httpConection.setReadTimeout(60000);
					httpConection.setRequestMethod("GET");
					// 读取数据部分
					InputStream inputStream = httpConection.getInputStream();// 此方法是连接返回的输入流,是中转站
					InputStreamReader inputReader = new InputStreamReader(
							inputStream, "utf-8");
					// inputStreamReader是字节流和字符流的中转站,可以转换成bufferReader
					BufferedReader bufferReader = new BufferedReader(
							inputReader);
					String s;
					while ((s = bufferReader.readLine()) != null) {
						data.append(s);
					}
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

			return data;
		}
	}
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325289361&siteId=291194637