WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。
webview有两个方法:setWebChromeClient 和 setWebClient
setWebClient:主要处理解析,渲染网页等浏览器做的事情
setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
WebViewClient就是帮助WebView处理各种通知、请求事件的。
在AndroidManifest.xml设置访问网络权限:
“`
控件:```
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView"/>
用途一:加载本地/Web资源
实例
public class MainActivity extends Activity {private EditText et_address=null;private WebView webview=null;private ProgressDialog pd=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {requestWindowFeature(Window.FEATURE_NO_TITLE);super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_address=(EditText) findViewById(R.id.ed_address);webview=(WebView) findViewById(R.id.webview);pd=new ProgressDialog(this);pd.setMessage("正在加载");WebSettings setting=webview.getSettings();setting.setSupportZoom(true);setting.setBuiltInZoomControls(true);webview.setWebViewClient(new WebViewClient(){@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {// TODO Auto-generated method stubpd.show();}@Overridepublic void onPageFinished(WebView view, String url) {// TODO Auto-generated method stubpd.dismiss();}});}public void click(View view){String address=et_address.getText().toString().trim();if(TextUtils.isEmpty(address)){address="http://192.168.247.1:8080";}webview.loadUrl(address);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif(keyCode==KeyEvent.KEYCODE_BACK&&webview.canGoBack()){webview.goBack();return true;}return super.onKeyDown(keyCode, event);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmenu.addSubMenu(0, 0, 0, "刷新");menu.addSubMenu(0, 0, 1, "后退");menu.addSubMenu(0, 0, 2, "前进");return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch (item.getOrder()) {case 0:webview.reload();break;case 1:if(webview.canGoBack()){webview.goBack();}else{Toast.makeText(getApplicationContext(), "已经到第一页了", 0).show();}break;case 2:if(webview.canGoForward()){webview.goForward();}else{Toast.makeText(getApplicationContext(), "已经是最后一页了", 0).show();}break;default:break;}return super.onOptionsItemSelected(item);}
}
参考链接:webView的使用以及总结
http://www.360doc.com/content/14/0611/13/15210553_385676271.shtml