1、在MainActivity中放置一个WebView组件。
2、添加“完全的网络访问”权限:在AndroidManifest.xml中添加如下内容。
3、在MainActivity.java中,添加如下代码:WebViewwebView=(WebView)findViewById(R.id.webView1);webView.setWebViewClient(newWebViewClient());webView.loadUrl("http://www.baidu.com");注:此段代码必须要放在setContentView(R.layout.activity_main);这段代码的后面,否则就会出现异常。。
4、运行代码,效果如下:。
二、android 中 webview 怎么用 localStorage1、在MainActivity中放置一个WebView组件。
三、Android:全面的 Webview 详解1、WebView是一个基于webkit引擎、展现web页面的控件。
2、一般来说Webview可单独使用,可联合其子类一起使用,所以接下来,我会介绍、常见用法、Back键控制网页后退配置步骤添加访问网络权限(AndroidManifest.xml)配置步骤生成一个WebView组件(有两种方式)配置步骤进行配置-利用WebSettings子类(常见方法)常见用法、设置WebView缓存注意、每个Application只调用一次WebSettings.setAppCachePath(),WebSettings.setAppCacheMaxSize()常见方法shouldOverrideUrlLoading()常见方法onPageStarted()常见方法onPageFinished()常见方法onLoadResource()常见方法onReceivedError()常见方法onReceivedSslError()常见方法onProgressChanged()常见方法onReceivedTitle()具体请看我写的文章AndroidWebView与JS的交互方式全面汇总1不在xml中定义Webview,而是在需要的时候在Activity中创建,并且Context使用getApplicationgContext()2在Activity销毁(WebView)的时候,先让WebView加载null内容,然后移除WebView,再销毁WebView,后置空。
3、步骤添加访问网络权限AndroidManifest.xml步骤主布局activity_main.xml步骤根据需要实现的功能从而使用相应的子类及其方法(注释很清楚了)MainActivity.java。
四、如何调试Android和IOS的webview1、WebViewr WebView是一个新的控件类型,允许你在Cocos2d-x中显示网页内容。
2、目前只支持iOS和Android平台,未来可能会添加更多平台。
3、r 这个类在cocos2d、、ui、、experimental命名空间下。
4、r 正如我们之前声明的experimental命名空间,这个命名空间并不意味着这个控件是完整的,只是缺少全平台支持。
5、在游戏中随意使用WebView控件。
6、r 在WebView中显示Google的网址,可以很简单的实现、r _webView=cocos2d、、experimental、、ui、、WebView、、create()r _webView->setPosition(winSize/2)r _webView->setContentSize(winSize*0.5)r _webView->loadUrl("http)r _webView->setScalesPageToFit(true)rr setscalesPageToFit方法将调整WebView内容以适应所设置内容的大小。
7、rr 我们还可以设置WebView的回调、r //weshouldcheckthevalidationoftheURLanddecidewhethertocontinueornotr _webView->shouldStartLoading=CC_CALLBACK_2(WebViewTest、、onWebViewShouldStartLoading,this)r //calledwhenwebpageisfinishloadingr _webView->didFinishLoading=CC_CALLBACK_2(WebViewTest、、onWebViewDidFinishLoading,this)r //calledwhenwebpageisfailloadingr _webView->didFailLoading=CC_CALLBACK_2(WebViewTest、、onWebViewDidFailLoading,this)。
五、Android开发之WebView控件使用说明1、默认情况,WebView还不算一个完整的浏览器控件,没有启用支持JavaScript脚本功能,忽略页面加载过程中的错误,仅用于显示一些HTML标签页面,那是没有问题的,这样的页面无法和用户进行交互功能。在布局中使用WebView控件,用于加载网页,一个简单例子:。
2、如果开发者想要一个支持JavaScript脚本,处理错误提示,显示加载进度,在线下载文件或者支持全屏播放视频等等功能的浏览器,调用系统的浏览器比使用WebView更方便,实现的代码如下:。
3、通常情况下,第二步调用系统自带浏览器虽然方便,但无法在我们的Activity中显示页面效果,我们使用更多的WebView,然后配置我们需要的功能,WebView显示HTML的三种方式:支持加载http或https开头的网站网址;支持加载本地静态HTML地址;支持解析HTML超文本标记字符串,如下图。
4、WebView有几个定制功能方便开发者添加期待的属性:创建并设置一个WebChromeClient子类,该子类在想要改变浏览器的UI界面时回调对应的方法,比如,进度条的更新和JS弹窗。
5、创建并设置一个WebViewClient子类,该子类在改变网页内容的呈现方式时回调对应的方法,比如,网页加载错误或提交表单,同时可以通过回调shouldOverrideUrlLoading()方法拦截URL加载,如下图。
6、修改WebSettings,配置WebView各种属性,比如:开启JavaScript脚本功能,setJavaScripeEnabled(true),默认情况WebView不支持加载添加了JavaScript脚本的HTML页面,WebSettings设置,如下图:。
7、调用addJavascriptInterface(Object,String)方法将Java对象注入WebView加载的页面,H5开发者通过JavaScript脚本访问Java对象提供的方法或属性,即实现APP应用程序和用户的交互,如下图:。
六、android webView使用方法1、[java]viewplaincopyprint? mWebView.setWebViewClient(newWebViewClient(){publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){view.loadUrl(url);returntrue;}});mWebView.setWebViewClient(newWebViewClient(){publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){view.loadUrl(url);returntrue;}}); 。
2、如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。 [java]viewplaincopyprint? publicbooleanonKeyDown(intkeyCode,KeyEventevent){if((keyCode==KeyEvent.KEYCODE_BACK)&&mWebView.canGoBack()){mWebView.goBack();returntrue;}returnsuper.onKeyDown(keyCode,event);}publicbooleanonKeyDown(intkeyCode,KeyEventevent){if((keyCode==KeyEvent.KEYCODE_BACK)&&mWebView.canGoBack()){mWebView.goBack();returntrue;}returnsuper.onKeyDown(keyCode,event);} 。
3、下一步让我们来了解一下android中webview是如何支持javascripte自定义对象的,在w3c标准中js有window,history,document等标准对象,同样我们可以在开发浏览器时自己定义我们的对象调用手机系统功能来处理,这样使用js就可以为所欲为了。 看一个实例: [java]viewplaincopyprint? viewplaincopytoclipboardprint?publicclassWebViewDemoextendsActivity{privateWebViewmWebView;privateHandlermHandler=newHandler();publicvoidonCreate(Bundleicicle){super.onCreate(icicle);setContentView(R.layout.webviewdemo);mWebView=(WebView)findViewById(R.id.webview);WebSettingswebSettings=mWebView.getSettings();webSettings.setJavaScriptEnabled(true);mWebView.addJavascriptInterface(newObject(){publicvoidclickOnAndroid(){mHandler.post(newRunnable(){publicvoidrun(){mWebView.loadUrl("javascript:wave()");}});}},"demo");mWebView.loadUrl("file:///android_asset/demo.html");}}publicclassWebViewDemoextendsActivity{privateWebViewmWebView;privateHandlermHandler=newHandler();publicvoidonCreate(Bundleicicle){super.onCreate(icicle);setContentView(R.layout.webviewdemo);mWebView=(WebView)findViewById(R.id.webview);WebSettingswebSettings=mWebView.getSettings();webSettings.setJavaScriptEnabled(true);mWebView.addJavascriptInterface(newObject(){publicvoidclickOnAndroid(){mHandler.post(newRunnable(){publicvoidrun(){mWebView.loadUrl("javascript:wave()");}});}},"demo");mWebView.loadUrl("file:///android_asset/demo.html");}} 。
4、我们看addJavascriptInterface(Objectobj,StringinterfaceName)这个方法,该方法将一个java对象绑定到一个javascript对象中,javascript对象名就是interfaceName(demo),作用域是Global。这样初始化webview后,在webview加载的页面中就可以直接通过javascript:window.demo访问到绑定的java对象了。来看看在html中是怎样调用的。www.cdtarena.com[html]viewplaincopyprint? Clickme!Clickme! 这样在javascript中就可以调用java对象的clickOnAndroid()方法了,同样我们可以在此对象中定义很多方法(比如发短信,调用联系人列表等手机系统功能。),这里wave()方法是java中调用javascript的例子。 这里还有几个知识点: 1)为了让WebView从apk文件中加载assets,AndroidSDK提供了一个schema,前缀为"file:///android_asset/"。WebView遇到这样的schema,就去当前包中的assets目录中找内容。如上面的"file:///android_asset/demo.html" 2)addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用Handler的目的。 。
5、总结: 添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Webpagenotavailable错误。 在要Activity中生成一个WebView组件:WebViewwebView=newWebView(this); 设置WebView基本信息: 如果访问的页面中有Javascript,则webview必须设置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true); 触摸焦点起作用 requestFocus(); 取消滚动条 this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY); 设置WevView要显示的网页: 互联网用:webView.loadUrl("http://www.google.com"); 本地文件用:webView.loadUrl("file:///android_asset/XX.html");本地文件存放在:assets文件中 如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。 给WebView添加一个事件监听对象(WebViewClient) 并重写其中的一些方法 shouldOverrideUrlLoading:对网页中超链接按钮的响应。 当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url onLoadResource onPageStart onPageFinish onReceiveError onReceivedHttpAuthRequest 如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。 覆盖Activity类的onKeyDown(intkeyCoder,KeyEventevent)方法。[java]viewplaincopyprint? publicbooleanonKeyDown(intkeyCoder,KeyEventevent){if(webView.canGoBack()&&keyCoder==KeyEvent.KEYCODE_BACK){webview.goBack();//goBack()表示返回webView的上一页面returntrue;}returnfalse;} 。
七、android 中 webview 怎么用 localStorage1、在AndroidManifest.xml设置访问网络权限:在res里新建layout布局,置入webview控件简单的显示一个网页的代码webView=(WebView)findViewById(R.id.webView);//web资源webView.loadUrl("https://www.baidu.com");//设置WebViewClient客户端webView.setWebViewClient(newWebViewClient(){ @Override publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){ view.loadUrl(url); returntrue; }});。
八、android中使用webview 调用js1、先看下效果图,比如文字中嵌套图片,这个在使用java来完成会有些不方便,下边我们使用webView嵌入来完成。记得上一个项目中在类似××新闻的详细布局。如下:。
2、 后因为服务器返回的数据已经存在标签,客户的需求也没有要求做成类网易的详细界面,接下来的这个项目客户给的要求已经体现了,所以又仔细了研究了下关于在手机客户端 上显示文字与图片的布局。大家可以直接反编译下网易,百度,搜狐之类的客户端,它们都是用webview控件来展现新闻界面的~ 至于如何实现java 和 js 的交互,网络上也有许多,但是一直没有找到很完全的,多是一个简单的按钮弹出! 下面我将把实现代码放上! 。
3、 准备好所需求的××.html。我们一般这样创建;在assets中创建自己的一个文件夹(如:www)。其中可以创建自己的html 及css,js文件夹。。
4、在android 中要有webView控件。当然别忘了主配置文件中要加上 。
5、 //这个是让webview 可以实现js wvDetailBody.getSettings().setJavaScriptEnabled(true); //这里是要创建一个对象来对js进行操作(MyContent) webview.addJavascriptInterface(myJavaScriptInterface , "MyContent"); 。
6、创建myJavaScriptInterface类及想要实现的调用方法 。
7、具体了可参照我的一篇博客、里面有源码可以参考http://javaeedyc.iteye.com/admin/blogs/1746886。
九、android浏览器webview进行html5开发(2)1、http://jingyan.baidu.com/article/5d368d1ef487d53f60c057d0.html介绍如何搭建项目,在此基础上进行测试。
2、MainActivity页面内容如下,privateWebViewwebView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);webView=newWebView(this);//在maiwebView.getSettings().setJavaScriptEnabled(true);webView.loadUrl("http://110243/");setContentView(webView);}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.main,menu);returntrue;}。
3、运行android程序报错后,如下图。
4、打开下面图片中的文件AndroidManifest.xml,增加访问网络的权限。
5、网络权限代码如下:。
6、重新运行自己的应用程序,打开程序会有网址出现,那么如何去掉网址呢。
7、如何去掉网址,打开像下面页面一样呢,请关照android浏览器webview进行html5开发(3)。
转载请注明出处阿文说说网 » androidwebView使用方法【androidwebview】