Android中WebKit的应用

package com.skex.webpwd;


import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;


public class MainActivity extends Activity implements OnClickListener{
private EditText editText1;
private Button btnGo;
private Button btnGet;
private WebView webView1;


    @SuppressLint("SetJavaScriptEnabled") 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      //Activity 
      editText1 = (EditText) findViewById(R.id.editText1);
      btnGo = (Button) findViewById(R.id.btnGo);
      btnGo.setOnClickListener(this);
      btnGet = (Button) findViewById(R.id.btnGet);
      btnGet.setOnClickListener(this);
      webView1 = (WebView) findViewById(R.id.webView1);
      //Java代码:
         WebSettings webSettings=webView1.getSettings();
         webSettings.setJavaScriptEnabled(true);
         //设置可以访问文件
         webSettings.setAllowFileAccess(false);
         //设置支持缩放
         webSettings.setBuiltInZoomControls(true);
         
       webView1.setWebViewClient(new WebViewClient() {
       
            @Override//android.webkit.WebViewClient.shouldOverrideUrlLoading
        public boolean shouldOverrideUrlLoading(WebView view,String url){
        view.loadUrl(url);
        return true;//shouldoverrideurlloading返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
                   }
     
                   @Override
                   public void onPageFinished(WebView view,String url){
        super.onPageFinished(view,url);
        }
     
                  @Override
                  public void onPageStarted(WebView view , String url,Bitmap favicon){
        super.onPageStarted(view,url,favicon);
        }
        });
    }
    
@Override
public void onClick(View view) {


switch(view.getId())
{
case R.id.btnGo:
String url=editText1.getText().toString();
url=url.trim();
if(!url.startsWith("http"))
url="http://"+url;
webView1.loadUrl(url);
break;
case R.id.btnGet:
break;
default:
break;
}
}
@Override
    public void onBackPressed() {
        webView1.goBack();
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    

}


Android中WebKit的应用

编辑:kezz来源:Android中文网发布时间:2011/4/2 11:36:49

  Android中,提供了WebKit引擎用于对网页浏览和操作进行编程。Google对WebKit进行了封装,提供了丰富的Java接口,其中最重要的便是android.webkit.WebView控件。
  
  1.WebViewer控件
  
  Android提供了WebView控件专门用来浏览网页。其使用方法和其他控件一样,需要在布局文件中进行布局,然后在程序中就可以使用并进行设置了。通过loadUrl方法,可以访问网页。代码如下:
  
  Java代码:
  wb=(WebView)findViewById(R.id.wb);
  wb.loadUrl(url);

  
  对于浏览器的设置,可以通过WebSettings来设置WebView的一些属性、状态等。代码如下:
  
  Java代码:
    WebSettingswebSettings=mWebView.getSettings();
  webSettings.setJavaScriptEnabled(true);
  //设置可以访问文件
  webSettings.setAllowFileAccess(true);
  //设置支持缩放
  webSettings.setBuiltInZoomControls(true);

  2.WebViewClient和WebChromClient
  
  WebViewClient和WebChromClientshi可以看作是辅助WebView管理网页中各种通知、请求等事件以及JavaScript时间的两个类。
  
  2.1WebViewClient
  
  通过WebView的setWebViewClient方法指定一个WebViewClient对象。通过覆盖该类的方法来辅助WebView浏览网页。代码如下:
  
  Java代码:
    mWebView.setWebViewClient(newWebViewClient()
  {
  publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl)
  {
  view.loadUrl(url);
  returntrue;
  }
  @Override
  publicvoidonPageFinished(WebViewview,Stringurl)
  {
  super.onPageFinished(view,url);
  }
  @Override
  publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon)
  {
  super.onPageStarted(view,url,favicon);
  }
  });

  2.2WebChromClient
  
  对于网页中使用的JavaScript脚本语言,就可以使用该类处理Js事件,如对话框加载进度等。例如:
  
  Java代码:
    mWebView.setWebChromeClient(newWebChromeClient(){
  
  
  @Override
  //处理javascript中的alert
  publicbooleanonJsAlert(WebViewview,Stringurl,Stringmessage,
  finalJsResultresult)
  {
  //构建一个Builder来显示网页中的对话框
  Builderbuilder=newBuilder(Activitythis);
  builder.setTitle("提示对话框");
  builder.setMessage(message);
  builder.setPositiveButton(android.R.string.ok,
  newAlertDialog.OnClickListener(){
  publicvoidonClick(DialogInterfacedialog,intwhich){
  //点击确定按钮之后,继续执行网页中的操作
  result.confirm();
  }
  });
  builder.setCancelable(false);
  builder.create();
  builder.show();
  returntrue;
  };
  }

 


安卓手机微信、QQ与短信删除聊天记录恢复全攻略
【玩机小技巧】Galaxy Note3如何使用4G网络
【小白福音·安卓篇】安卓手机未知来源软件安装
【小白福音·安卓篇】安卓手机短信铃声自定义
【小白福音·安卓篇】安卓手机使用误区
【小白福音·安卓篇】手机上网及彩信设置方法
HTC One X S720e手机信号设置方法
HTC ONE X如何限制后台运行程序数量
小技巧 强制你的Android手机检查系统更新
安卓智能手机如何备份手机里的文件

关注安卓中文网官方微信

扫描左侧二维码即可添加安卓中文网官方微信

您也可以在微信上搜索“安卓中文网”或“anzhuozww”,获取更多数码资讯

微博推荐

width="469" height="200" frameborder="0" scrolling="no" src="http://widget.weibo.com/relationship/bulkfollow.php?language=zh_cn&uids=2972152170,1822936141,1743028057,2771866487&wide=1&color=C2D9F2,FFFFFF,0082CB,666666&showtitle=0&showinfo=1&sense=0&verified=1&count=5&refer=http%3A%2F%2Fandroid.tgbus.com%2FAndroid%2Ftutorial%2F201104%2F348159.shtml&dpc=1">

标签:Android,WebKit

评论
allowtransparency="true" class="comment_area" data-url="http://android.tgbus.com/Android/tutorial/201104/348159.shtml" data-title="" data-style="" data-token="755350f58c5fcfa0e29a72a06b2fe531" src="http://comment.tgbus.com/comment/?title=Android%E4%B8%ADWebKit%E7%9A%84%E5%BA%94%E7%94%A8%20-%20Android%E6%95%99%E7%A8%8B%20-%20%E5%AE%89%E5%8D%93%E4%B8%AD%E6%96%87%E7%BD%91&style=&url=http%3A%2F%2Fandroid.tgbus.com%2FAndroid%2Ftutorial%2F201104%2F348159.shtml&channel=0&domain=android.tgbus.com&random=603235&token=755350f58c5fcfa0e29a72a06b2fe531" width="100%" scrolling="no" frameborder="0" height="287">
id="iframeu2583631_0" src="http://pos.baidu.com/acsm?rdid=2583631&dc=2&di=u2583631&dri=0&dis=0&dai=1&ps=3320x194&dcb=BAIDU_SSP_define&dtm=BAIDU_DUP_SETJSONADSLOT&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1461494545891&ti=Android%E4%B8%ADWebKit%E7%9A%84%E5%BA%94%E7%94%A8%20-%20Android%E6%95%99%E7%A8%8B%20-%20%E5%AE%89%E5%8D%93%E4%B8%AD%E6%96%87%E7%BD%91&ari=1&dbv=2&drs=1&pcs=1349x557&pss=1349x3342&cfv=0&cpl=44&chi=1&cce=true&cec=GBK&tlm=1461494545&ltu=http%3A%2F%2Fandroid.tgbus.com%2FAndroid%2Ftutorial%2F201104%2F348159.shtml&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D4L0129SklXSdIOjNHyL3AAKIPFm5Mh9vLwQcV1YpdvjhYubaTIrX740F_V6Vm45WGoi9-1-tr34X08RjYiPbJAN2AEmI5LXPrANRaF7qFjm%26wd%3D%26eqid%3Ddafbd662000a494d00000002571ca2fb&ecd=1&psr=1366x768&par=1366x706&pis=-1x-1&ccd=24&cja=true&cmi=158&col=zh-CN&cdo=-1&tcn=1461494546&qn=e783edb4e97ce18d&tt=1461494545583.394.1349.1357" width="640" height="60" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" style="border:0; vertical-align:bottom;margin:0;" allowtransparency="true">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值