webview的使用

 1 package com.example.webview;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.app.AlertDialog;
 6 import android.content.DialogInterface;
 7 import android.content.DialogInterface.OnClickListener;
 8 import android.view.Menu;
 9 import android.webkit.JsResult;
10 import android.webkit.WebChromeClient;
11 import android.webkit.WebSettings;
12 import android.webkit.WebView;
13
14 public class MainActivity extends Activity {
15
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_main);
20
21         // 找打控件
22         WebView web = (WebView) findViewById(R.id.web);
23         // 得到websetting
24         WebSettings webs = web.getSettings();
25         // 设置编码
26         webs.setDefaultTextEncodingName("utf-8");
27         // 设置支持JavaScriptEnabled
28         webs.setJavaScriptEnabled(true);
29         // 找到在assets下的html文件
30         web.loadUrl("file:///android_asset/index.html");
31         // 设置监听
32         web.setWebChromeClient(new WebChromeClient() {
33             @Override
34             // 重写Alert方法
35             public boolean onJsAlert(WebView view, String url, String message,
36                     JsResult result) {
37                 // TODO Auto-generated method stub
38                 // 关闭网页自带的提示
39                 result.cancel();
40                 // 得到对象
41                 AlertDialog.Builder b = new AlertDialog.Builder(
42                         MainActivity.this);
43                 // 重新定义弹出框的内容必须要有show因为要显示出来
44                 b.setTitle("提示框").setIcon(R.drawable.ic_launcher)
45                         .setMessage(message).setPositiveButton("确定", null)
46                         .show();
47                 // 返回一个true
48                 return true;
49             }
50
51             @Override
52             // 重写Confirm方法是点击提交时的弹出框
53             public boolean onJsConfirm(WebView view, String url,
54                     String message, final JsResult result) {
55                 // TODO Auto-generated method stub
56
57                 // 得到对象
58                 AlertDialog.Builder b = new AlertDialog.Builder(
59                         MainActivity.this);
60                 // 重写点击提示的标题图片和下面的内容
61                 b.setTitle("确认框").setIcon(R.drawable.ic_launcher)
62                         .setMessage(message)
63                         // 设置点击确定时要干的事情
64                         .setPositiveButton("确定", new OnClickListener() {
65
66                             @Override
67                             public void onClick(DialogInterface dialog,
68                                     int which) {
69                                 // TODO Auto-generated method stub
70                                 result.confirm();
71                             }
72                             // 设置点击取消时要干的事请
73                         }).setNegativeButton("取消", new OnClickListener() {
74
75                             @Override
76                             public void onClick(DialogInterface dialog,
77                                     int which) {
78                                 // TODO Auto-generated method stub
79                                 result.cancel();
80                             }
81                         }).show();
82
83                 // 返回一个true
84                 return true;
85             }
86         });
87     }
88 }
时间: 2024-08-05 06:16:47

webview的使用的相关文章

10.3.3 WebView的几个常见功能

当前主流的开发模式是"WebView+ProgressDialog" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_paren

Android WebView 开发教程

1.WebView的使用 (a). 创建WebView的实例加入到Activity中 WebView webview = new WebView(this); setContentView(webview); 或者在xml中配置WebView <Webview android:layout_width="match_parent" android:layout_height="match_parent" > </Webview> (b). 访

WebView使用详解(三)——WebChromeClient与LoadData补充

前言: 我不会忘了我 忘了我曾说过一定会得到的梦想 --<老大>小柯 相关文章 1.<WebView使用详解(一)--Native与JS相互调用(附JadX反编译)> 2.<WebView使用详解(二)--WebViewClient与常用事件监听> 一.WebChromeClient 1.概述 (1). 与WebViewClient的区别 很多同学一看到这里有Chrome,立马就会想到google 的Chrome浏览器:这里并不是指Chrome浏览器的意思,而是泛指浏览

Android WebView loadData读取两次才能显示的问题

webview.loadDataWithBaseURL(null,result,"text/html", "utf-8", null); 使用loadDataWithBaseURL替代loadData 参考网址:http://stackoverflow.com/questions/17501860/had-to-load-data-twice-to-make-webview-refresh-in-android

Android中webview和js之间的交互(转)

http://www.cnblogs.com/leizhenzi/archive/2011/06/29/2093636.html 1.android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示: mWebView.getSettings().setJavaScriptEnabled(true); mWebV

【WebView】带加载进度条的WebView及Chrome联调

先看效果图: 看到顶部蓝色的进度条了. 原理:用到了 android.webkit.WebChromeClient中的onProgressChanged,而android.webkit.WebViewClient是没有这个方法的.所以普通的WebView是无法实现进度条的. 下面直接上干货: /** * ProgressWebView * * @author lif * * */ @SuppressWarnings("deprecation") public class Progres

Android一组WebView的随机,顺序,倒序加载

写了个应用,实现了一组WebView的顺序,倒序,和随机加载.之中使用了延时,为什么要使用呢?请看下图: package com.zms.csdngo; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiManager; i

屏蔽电信流氓广告造成的诡异的问题--Android WebView 长时间不能加载页面

发现在家里的时候用Android App里的WebView打开网站很慢,会有十几秒甚至更长时间的卡住. 但是在电脑上打开同样的网页却很快. 查找这个问题的过程比较曲折,记录下来. 抓取Android网络数据 为了调试这个问题,首先要抓取Android的网络包数据.开始时,是想用Wireshark来抓包的,但是很麻烦,tcpdump在手机要root权限. 于是转换思路,能不能在Android上设置代理,来抓包? 但是fiddler没有linux版本,于是转用BurpSuite了. 设置Androi

与webView进行交互,webView小记

本文转载至 http://www.verydemo.com/demo_c101_i46895.html 一.与webView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义字符前加\),在传递json字符串时不需要加单引号或双引号. 1 -(void)webViewDidFinishLoad:(UIWebView *)webView 2 { 3     NSString *sendJsStr=[NSString stringWithFormat

Android在项目中接入腾讯TBS浏览器WebView的教程与注意的地方

腾讯TBS浏览器服务 我们都知道,在Android开发中,经常会用到Webview,而且WebView是出了名的坑的,各种bug.这时候腾讯老哥站出来了,搞了一个TBS浏览器服务这个东西. 说得这么屌,其实就是一个webView控件,然后解析解析网页的内核是他自己做的,叫X5内核(系统原生的WebView用的是WebKit内核),所以我们开发者用的时候,主要就是用这个com.tencent.smtt.sdk.WebView控件 当然这个控件有很多功能,当然也有些要注意的地方. 官网地址:http