Android利用WebView开发Web App

步骤

1.       初始化。

WebView myWebView= (WebView) findViewById(R.id.webview);
myWebView
.loadUrl("http://www.example.com");

2.       设置支持javascript,默认为不可用。

WebSettings webSettings= myWebView.getSettings();
webSettings
.setJavaScriptEnabled(true);

3   javascript访问android应用中方法。   

   webView.addJavascriptInterface(newJavaScriptInterface(this),"Android");

   publicclass JavaScriptInterface{
   
Context mContext;
   
/** Instantiate the interface and set the context */
   
JavaScriptInterface(Context c){
        mContext
= c;
   
}
   
/** Show a toast from the web page */
   
publicvoid showToast(String toast){
       
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
   
}

 

    <input type="button"value="Say hello"onClick="showAndroidToast('Hello Android!')"/>
   <scripttype="text/javascript">
   
function showAndroidToast(toast){
       
Android.showToast(toast);
   
}
   </script>

 

4   处理页面跳转。

myWebView.setWebViewClient(newMyWebViewClient());

privateclass MyWebViewClientextends WebViewClient{
   
@Override
   
public booleanshouldOverrideUrlLoading(WebView view, String url){
       
if(Uri.parse(url).getHost().equals("www.example.com")){
           
// This is my web site, so do not override; let my WebView load the page
           
returnfalse;
       
}
       
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
       
Intent intent= new Intent(Intent.ACTION_VIEW,Uri.parse(url));
        startActivity
(intent);
       
returntrue;
   
}
}  

 

5   访问历史(返回,前进)。

if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack(){
        myWebView
.goBack();
       
returntrue;
   
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值