如何在Android应用中打开Web网站呢?谷歌为我们提供了解决方案,现在就让我们一起看一下WebView控件吧。
为了方便总结,就以实现下面这个效果为主线,进行总结:
首先我们先看一下它的布局文件吧,整个界面分为上下两个部分,上部是一个类似于标题栏的效果,它是由两个Button按钮和一个TextView组成的,下部是一个WebView控件,通过AndroidManifest.xml去除系统的标题(如有不懂,请查阅我的上一遍博客:Android常用属性),已达到上图效果。为方便大家自学,下面奉上代码:
最后我们开始编写我们MainActivity.java:
publicclassMainActivityextendsActivity{ privateTextViewmTextView; privateWebViewmWebView; privateButtonmbreak; privateButtonmnews; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(yout.activity_main); init(); } publicvoidinit(){ mTextView=(TextView)findViewById(R.id.web); mWebView=(WebView)findViewById(R.id.webView); mbreak=(Button)findViewById(R.id.quit); mnews=(Button)findViewById(R.id.news); mbreak.setOnClickListener(newmyListener()); mnews.setOnClickListener(newmyListener()); mWebView.loadUrl("/");//设置打开的网址 mWebView.setWebChromeClient(newWebChromeClient(){ @Override publicvoidonReceivedTitle(WebViewview,Stringtitle){ super.onReceivedTitle(view,title); mTextView.setText(title);//显示打开的网址信息 } }); mWebView.setWebViewClient(newWebViewClient(){ @Override publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){ view.loadUrl(url); returnsuper.shouldOverrideUrlLoading(view,url); } }); } //按钮点击事件监听 classmyListenerimplementsView.OnClickListener{ @Override publicvoidonClick(Viewview){ switch(view.getId()){ caseR.id.quit: finish(); break; caseR.id.news: mWebView.reload(); break; } } }最后不要忘在AndroidManifest.xml中添加使用网络声明:
大功告成,我们的WebView初步介绍到此结束。