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的具体用法。 共同进步。

    推荐阅读