Android中WebKit的应用

来源:互联网 发布:西门淘宝店 编辑:程序博客网 时间:2024/05/18 01:48
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”,获取更多数码资讯

微博推荐

标签:Android,WebKit

更多>>相关文章
安卓手机微信、QQ与短信删除聊天记录恢复全攻略
【玩机小技巧】Galaxy Note3如何使用4G网络
【小白福音·安卓篇】安卓手机未知来源软件安装
【小白福音·安卓篇】安卓手机短信铃声自定义
【小白福音·安卓篇】安卓手机使用误区
【小白福音·安卓篇】手机上网及彩信设置方法
HTC One X S720e手机信号设置方法
HTC ONE X如何限制后台运行程序数量
小技巧 强制你的Android手机检查系统更新
安卓智能手机如何备份手机里的文件
更多>>24小时热点
  • 华为获质量最高殊荣 用工匠精神定义中国“质”造
  • 金立S8引发交互革命—首个压感屏安卓手机
  • 蓝港互动王峰:和吴奇隆做生意是啥感觉
  • 完全是鸡肋设计!vivo Xplay5曲面屏诚意不足
  • 为什么华为手机质量好?来看看华为品控是怎么做的
  • 易烊千玺最新手记曝光 网友:不知道三小只STYLE就OUT了!
  • 三星Exynos8890真的比高通骁龙820强吗?
  • 买旗舰就是买口碑 最值得入手还得是Mate S
  • 男神力爆棚 华为畅享手机成95后最爱
  • 《巴士话IT》第26期:人工智能VS虚拟现实
评论
<iframe id="iframeu2583631_0" src="http://pos.baidu.com/acsm?rdid=2583631&amp;dc=2&amp;di=u2583631&amp;dri=0&amp;dis=0&amp;dai=1&amp;ps=3320x194&amp;dcb=BAIDU_SSP_define&amp;dtm=BAIDU_DUP_SETJSONADSLOT&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1461494545891&amp;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&amp;ari=1&amp;dbv=2&amp;drs=1&amp;pcs=1349x557&amp;pss=1349x3342&amp;cfv=0&amp;cpl=44&amp;chi=1&amp;cce=true&amp;cec=GBK&amp;tlm=1461494545&amp;ltu=http%3A%2F%2Fandroid.tgbus.com%2FAndroid%2Ftutorial%2F201104%2F348159.shtml&amp;ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D4L0129SklXSdIOjNHyL3AAKIPFm5Mh9vLwQcV1YpdvjhYubaTIrX740F_V6Vm45WGoi9-1-tr34X08RjYiPbJAN2AEmI5LXPrANRaF7qFjm%26wd%3D%26eqid%3Ddafbd662000a494d00000002571ca2fb&amp;ecd=1&amp;psr=1366x768&amp;par=1366x706&amp;pis=-1x-1&amp;ccd=24&amp;cja=true&amp;cmi=158&amp;col=zh-CN&amp;cdo=-1&amp;tcn=1461494546&amp;qn=e783edb4e97ce18d&amp;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"></iframe>
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 剑与家园魔镜带错兵怎么办 橙子vr上下反了怎么办 我的恐龙手机不支持ar怎么办 被小人陷害又无计可施怎么办 蚂蚁借呗2万逾期怎么办 蚂蚁借呗还款金额受限怎么办 蚂蚁借呗不能借钱了怎么办 美柚手机号换了怎么办 美柚他他圈被禁言了怎么办? 被蝎子蜇了屁股怎么办 被蝎子蛰了该怎么办 孕妇让蝎子蛰了怎么办 脸被蝎子蛰了怎么办 皮肤看着有点老怎么办 王者铭文被卖了怎么办 游戏cp送我皮肤怎么办 消防改革武警学院的学员怎么办 几把毛掉的厉害怎么办 从公务员调入事业单位的怎么办 电车被城管扣了怎么办 超变战陀发射器绳坏了怎么办 家里人总打击我怎么办干啥都要骂 欧陆风云4破产后怎么办 车被别人喷了漆怎么办 龙分期绑银行卡维护钱还不上怎么办 去维和要是伤了怎么办 头盔镜片刮花了怎么办 小牛u1钥匙丢了怎么办 非牛顿流体干了怎么办 刺激战场0信誉分怎么办 假如非牛顿干了怎么办? 退出id后照片了怎么办 小麦收割机麦糠有籽粒怎么办 在家带娃没钱花怎么办 看3d电影近视的怎么办 摩托车电瓶没电了怎么办 踏板摩托车电瓶没电了怎么办 摩托车离合油没了怎么办 论文数据计算错误该怎么办 脚被擦破皮了痛怎么办 脚撞到了很疼怎么办