android菜鸟进阶之路——应用程序里嵌入网页

 如题的需求牵扯到 WebView控件和它的用法,废话不多说,看代码:
         public class MainActivity extends Activity {
                private WebView webview;
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                        // TODO Auto-generated method stub
                        super.onCreate(savedInstanceState);
                        setContentView(R.layout.activity_main);
                        webview = (WebView) findViewById(R.id.web_view);
                        // 调用了 setJavaScriptEnabled()方法来让 WebView 支持 JavaScript 脚本
                        webview.getSettings().setJavaScriptEnabled(true);  
                        webview.setWebViewClient(new WebViewClient(){
                                public boolean shouldOverrideUrlLoading(WebView view,String url){
                                        view.loadUrl(url);// 根据传入的参数再去加载新的网页
                                        return true;//  表示当前WebView可以处理打开新网页的请求,不用借助系统浏览器
                                }
                        });
                        webview.loadUrl(" http://www.baidu.com");
                }
        }
        首先,在布局界面中添加一个WebView控件,设置为MatchParent,然后注意在配置文件中要加入上网权限,分析代码: WebView的 getSettings()方法可以去设置一些浏览器的属性,这里只设置了能加载脚本。调用了 WebView的 setWebViewClient()方法,并传 入了 WebViewClient 的匿名类作为参数,然后重写了 shouldOverrideUrlLoading()方法。这就 表明当需要从一个网页跳转到另一个网页时,目标网页仍然在当前 WebView 中显  示,而不是打开系统浏览器。
        最后,调用 WebView 的 loadUrl()方法,并将网址传入,即可展示相 应网页的内容。
        本例是最简单的一个例子,因为WebView已经在后台帮我们处理好了发送 HTTP 请求、接收服务响应、解析 返回数据,以及最终的页面展示这几步工作,不过由于它封装得实在是太好了,反而使得我 们不能那么直观地看出 HTTP 协议到底是如何工作的。当然我们需要知道具体的传输和过程,可以参看下章 HttpURLConnection的具体用法。
        共同进步。

你可能感兴趣的:(剑指android)