运行效果:html
有图片的网页显示不出来。java
XMLandroid
<?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>
javaweb
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; } } }