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;
}
}
}