Android使用WebView加载HTML数据交互问题

Android开发在使用WebView加载HTML界面时,如何在Android的JAVA类中获取HTML界面的数据?求大神指教,有代码最好

3个回答

andorid和js交互最流行的方式就是用JSBridge,可以上github看看,这个不是简单的一两句代码就能搞定的,需要一个很好的框架支撑。

qq_29269095
qq_29269095 那使用JSBridge时,当在JAVa类中向HTML页面传递对象时,那在HTML中的js里对象的属性如何获取呢
3 年多之前 回复
qq_29269095
qq_29269095 谢谢大神指点
3 年多之前 回复
qq_29269095
qq_29269095 谢谢大神指点
3 年多之前 回复

@JavaScriptInterface

Webview是支持JS的, Java和Html之间的数据交互可以使用简单的JS来实现,

在Android的JAVA类中获取HTML界面的数据,只需要在JAVA类中定义JS接口,在html中通过JS回调传递页面数据到Java类中,

具体代码,search一下,很多的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
混合开发之webView加载html,android 和 html之间进行数据交互
现在混合开发比较普遍了,其实早就该学学了,只限于自己对html不是很熟,搭的界面太丑了,哈哈…今天写Demo的需求是这样的 1、在一个界面里,半面html,半面android原生控件。 2、点击html发送html的数据给android ,android原生控件接收并显示。 3、点击原生控件,html接收并显示.界面是这样的半边html 半边android 原生控件,进行数据交互我的html
Android Jsoup的使用(WebView 加载html片段)
Android WebView 加载html片段,会存在css和js缺失问题,导致文字和图片的大小显示出现问题: 1、文字显示太小 2、图片显示太大,超出屏幕宽度 3、通过补全html,添加<style>对字体css和图片css进行设置</style>,会存在文字重叠问题 为了解决上面的问题,需要对html代码判断进行解析并修改,所以就使用到Jsoup。 ...
android中使用WebView加载html字符串
android中使用WebView加载html字符串及加载本地图片资源 StringBuffer sb=new StringBuffer(); //添加html sb.append(""); sb.append(""); // // meta http-equiv="refresh" content="time" url="url" > //添加文件的内容 sb.appe
Android 8.0使用webview加载html崩溃
低于8.0版本则正常使用,错误log如下nnn```n Process: com.dhcc.csr, PID: 10366n java.lang.RuntimeException: Unable to start activity ComponentInfocom.dhcc.csr/com.dhcc.csr.news.detail.PartyDynamicDetailActivity: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.webkit.WebViewn at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)n at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)n at android.app.ActivityThread.-wrap11(Unknown Source:0)n at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)n at android.os.Handler.dispatchMessage(Handler.java:105)n at android.os.Looper.loop(Looper.java:164)n at android.app.ActivityThread.main(ActivityThread.java:6541)n at java.lang.reflect.Method.invoke(Native Method)n at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)n Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.webkit.WebViewn Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.webkit.WebViewn Caused by: java.lang.reflect.InvocationTargetExceptionn at java.lang.reflect.Constructor.newInstance0(Native Method)n at java.lang.reflect.Constructor.newInstance(Constructor.java:334)n at android.view.LayoutInflater.createView(LayoutInflater.java:647)n at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)n at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)n at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)n at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)n at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)n at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)n at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)n at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)n at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)n at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)n at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)n at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)n at android.view.LayoutInflater.inflate(LayoutInflater.java:515)n at android.view.LayoutInflater.inflate(LayoutInflater.java:423)n at android.view.LayoutInflater.inflate(LayoutInflater.java:374)n at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:418)n at android.app.Activity.setContentView(Activity.java:2654)n at com.dhcc.csr.news.detail.PartyDynamicDetailActivity.onCreate(PartyDynamicDetailActivity.java:94)n at android.app.Activity.performCreate(Activity.java:6975)n at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)n at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)n at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)n at android.app.ActivityThread.-wrap11(Unknown Source:0)n at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)n at android.os.Handler.dispatchMessage(Handler.java:105)n at android.os.Looper.loop(Looper.java:164)n at android.app.ActivityThread.main(ActivityThread.java:6541)n at java.lang.reflect.Method.invoke(Native Method)n at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)n Caused by: java.lang.NullPointerExceptionn at android.content.res.AssetManager.addAssetPathNative(Native Method)n at android.content.res.AssetManager.addAssetPathInternal(AssetManager.java:689)n at android.content.res.AssetManager.addAssetPathAsSharedLibrary(AssetManager.java:684)n at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:407)n at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:211)n11-13 16:50:39.410 10366-10366/com.dhcc.csr E/AndroidRuntime: at android.webkit.WebView.getFactory(WebView.java:2467)n at android.webkit.WebView.ensureProviderCreated(WebView.java:2462)n at android.webkit.WebView.setOverScrollMode(WebView.java:2527)n at android.view.View.(View.java:4536)n at android.view.View.(View.java:4668)n at android.view.ViewGroup.(ViewGroup.java:597)n at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)n at android.webkit.WebView.(WebView.java:636)n at android.webkit.WebView.(WebView.java:581)n at android.webkit.WebView.(WebView.java:564)n at android.webkit.WebView.(WebView.java:551)n ... 33 moren```nn
Android webview加载html自适应屏幕
最近又写了一篇文章  Android webview加载html代码 上下左右有白边问题 可以参考一下 webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);// 不使用缓存 webView.getSettings().set...
【Android】WebView加载html与JS交互
文章目录一、加载Html的几种方法二、加载页面时几种简单API使用三、浏览器优化操作处理:四、WebView与JS交互问题解决:HTML5交互:HTML5地理位置服务在Android中的应用:构建HTML5离线应用:在线状态检测Android与JS之间的互相调用在Android中调用JS的方法:Android中处理JS的警告,对话框等Android中的调试: 一、加载Html的几种方法 直接在...
使用WebView加载HTML资源
最近的项目需要做一个如同微信中的腾讯新闻的功能,如下图所示:   直接上关键代码: 布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wid...
使用Webview加载html网页
WebView设置 //加上下面这段代码可以使网页中的链接不以浏览器的方式打开 webView.setWebViewClient(new WebViewClient()); webView.setScrollBarStyle(0);//滚动条风格,为0指滚动条不占用空间,直接覆盖在网页上 //得到webview设置
android WebView加载不出Html的问题
现象前端调用了localStorage方法,导致打开html失败。解决办法为节省空间和安全性考虑,WebView的domStorageEnabled属性默认为false。需要设为true,如下: WebSettings settings = mWebView.getSettings(); settings.setDomStorageEnabled(true); settings.setAppC
Android webview加载html出现空白问题
wv.loadUrl(“http://xxx.xxx.xxx:1025/api/index.php?m=&c=Api“); wv.setWebChromeClient(new WebChromeClient()); 这样加载的html总是出现空白页,但是用手机浏览器打开是没有问题的,ios端也是没有问题的。 先介绍一下我的html包含的内容,主要是定位以及区域图,并且图片比较多。 报
android webview 加载了一个本地的html问题
请问怎样获得html的文本框的输入参数啊呢,js也好像没反应,已经webSettings.setJavaScriptEnabled(true);//设置支持javascript脚本 rn但是alert没输出
android webview加载本地html(jquery框架)问题
要实现利用webview显示一个html。这个html是别人写的,使用了jquery框架。在网上查了一下,发现都是用jquery mobile在android 上面来开发,jquery的例子基本上没有。是不是android 上面要不用jquery而是用jquery mobile呢?我现在要实现的这个功能,有没有人做过啊?求指点方向,谢谢大侠。在线等
webView中html与手机数据交互
html中通过Js调用手机相机,通讯录、短信发送界面、其他网页、其他activity,然后用Base64将手机相机拍到的照片显示到webView的html中
JavaScript与Android的数据交互,js与安卓数据交互WebView
本文思路: 1,webview介绍, 2,android中的书写 3,js中的书写, 4,出现的问题,一定要看完。不然。。。就出错了 说道数据交互,首先要先说一下交互需要使用的控件WebView; 简单的介绍下用法: 1,和正常控件一样,声明,初始化, WebView myWebView = (WebView) findViewById(R.id.w
android面试热点:webview使用及与js数据交互
看过很多金融类和购物类的app,不少应用为了能够快速开发,都采用了webview配合html js完成页面功能的展示,虽然实现此功能的代码量比较少,但是鉴于目前网上没有完整的实现步骤,在此把此步骤写下,当然这东西在面试的时候大多数可能会问到,所以在这公开给大家 1.简述你对webview的认识 webview主要用于android手机应用中的对页面展示的功能,大大简化了客户端的开发工作
webview加载html的刷新问题
html加载的图片是sdcard上的,图片更换了,但是重新加载html时,图片不会刷新,还是以前的图片
WebView加载Html 乱码问题
今天做商品详情,调用接口返回数据发现有一段html代码,好多p标签。什么鬼。刚开始不知道怎么弄,之前用webview展示h5页面的时候直接加载一个连接就可以了,但是这次直接给我返回一堆html代码。后来问了一下朋友,说webview可以直接加载网页代码。好吧。百度了一下 找到了方法。 mGoodsDetailWebView.loadData(bbss"text/html", "UTF-8");这
webview 加载html报错
webview 加载html时IOS报错error loading page domain:webkiterrordomain error code:101 解决方法: <WebView //添加下面内容 nativeConfig={{ props: { backgroundColor: 'black', fle...
webview加载html的离线缓存
首先知道webview自带离线缓存功能:         mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);  //设置 缓存模式 LOAD_CACHE_ONLY:  不使用网络,只读取本地缓存数据 LOAD_DEFAULT:  根据cache-control决定是否从网络上取数据。 LOAD_C
WebView加载html网页
@Override public void getViewData(DetailBean detailBean) { DetailBean.ResultBean result = detailBean.getResult(); // Toast.makeText(this, "" + result.toString(), Toast.LENGTH...
webview加载html数据
想让加载的html内容在webview里面单列显示,怎么解决图片覆盖文字的问题啊
webview加载本地html
我想用webview加载一个本地html,是建的windows窗体应用工程。rn一开始我试过直接文件夹指向加载。rn string pp = "ms-appx-web:///D:\\SM-Media\\html\\704.html";rn webView1.Navigate(pp);rn结果如下图:rn[img=https://img-bbs.csdn.net/upload/201907/03/1562144858_918693.jpg][/img]rn还试过另一种直接文件夹:rn string hh = File.ReadAllText("F:\\work\\smmedia\\SM-Media\\html\\701.html");rn webView1.NavigateToString(hh.Replace("", ""));//这句我是担心应html里需要这个才可以展示结果没差异。rn结果如下,黑屏且元素没加载出来,rn[img=https://img-bbs.csdn.net/upload/201907/03/1562145143_547739.jpg][/img]rn我还了一个视频元素的html,结果如下。rn[img=https://img-bbs.csdn.net/upload/201907/03/1562145225_14399.jpg][/img]rn但是我用这个静态页在服务端发布的http的方式加载却显示出来了。这让我百思不得其解。根本跟视频格式无关的感觉。rn接着试过以下几种:窗口展示的都是白色无内容。如图1rn string url = "ms-appdata:///local/html/demo2.html";rn webView1.Navigate(new Uri(url));rn webView1.Navigate(new Uri("ms-appx-web:///TEST/html/701.html", UriKind.Absolute));rn而我用百度等地址加载却可以rnwebView1.Navigate(new Uri("https://www.baidu.com/")); --可正常显示rn---------------rn后来我又尝试把我要加载的html放到工程里。rn[img=https://img-bbs.csdn.net/upload/201907/03/1562145335_163735.jpg][/img]rn工程结果如此,结果我试过无数种只要是非http/https的都不可以加载。rn请问各位大神,求教。如何把本地的静态html给完整的加载出来。以下是我试过的各种:rn // 加载指定的 ms-appx-web:/// 协议地址(Package 内的数据)rn // webView1.IsJavaScriptEnabled = true;rn // webView1.Navigate(new Uri("ms-appx-web:///TEST/html/701.html", UriKind.Absolute));rn // webView1.Navigate(new Uri("ms-appx-web:///SM-Media/html/demo1.html", UriKind.Absolute));rn // webView1.Navigate(new Uri("ms-appx-web:///html/demo2.html", UriKind.Absolute));rn // webView1.Navigate(new Uri("ms-appx:///TEST/html/701.html", UriKind.RelativeOrAbsolute));rn //webView1.Navigate(new Uri("ms-appx-web:///TEST/html/demo1.html", UriKind.Absolute));rn //webView1.Navigate(new Uri("ms-appx-web:///html/demo2.html", UriKind.Absolute));rn // webView1.Navigate(new Uri("ms-appdata:///TEST/html/701.html", UriKind.RelativeOrAbsolute)); rn // webView1.NavigateToString(hh.Replace("", ""));rn //webView1.NavigateToLocalStreamUrirn //string url = "ms-appdata:///local/html/demo2.html";rn //webView1.Navigate(new Uri(url));rnrn #region 文件流读取rn //var s = new FileStream(@"F:\work\smmedia\SM-Media\html\731.html", FileMode.Open);rn //using (var read = new StreamReader(s))rn //rn // webView1.NavigateToString(read.ReadToEnd());rnrn //rn //s.Close();rn #endregionrn // Uri localUri = new Uri("ms-appx:///731.html");rn //Uri localUri = new Uri("ms-appx:///html/731.html");rn // Uri localUri = new Uri("ms-appx-web:///html/731.html");rn //webView1.Navigate(new Uri("ms-appdata:///local/html/731.html"));rn //webView1.Navigate(new Uri("https://www.baidu.com/"));rn //Uri localUri = new Uri("ms-appdata:///html/731.html");rn //webView1.Navigate(localUri);rn // webView1.Navigate(new Uri(@"F:\work\smmedia\SM-Media\html\731.html"));rn //Process.Start("microsoft-edge:D:\\SM-Media\\html\\7861.html");rn //string pp = "ms-appx-web:///D:\\SM-Media\\html\\704.html";rn //webView1.Navigate(pp);rn //webView1.NavigateToString("< head >< title >我是网页标题< body >我是网页内容,够简单了吧? ");
webview加载视频html
1.使用js方法自动播放 mPlayer.setWebViewClient(new WebViewClient() {  // autoplay when finished loading via javascript injection  public void onPageFinished(WebView view, String url) { mPlayer.loadUrl("java
Android加载WebView - 使用post请求加载
WebView - post
android中使用webview加载html页面的问题
加载html,这个页面中有div的滚动条,在电脑中可以显示滚动条,在手机中就显示不出来,大虾们帮忙解决下
Android WebView加载字符串类型的HTML
Android WebView加载字符串类型的html内容
android webview加载html图片自适应手机屏幕大小
我们在开发中,显示信息详情时,一般后台会给出html文本,在android端一般采用webview控件来展示,但是后台给出的html文本一般是给电脑端用的,没有自适配手机,导致手机端图片显示过大,需要左右移动来查看全图。下面给出几种实用方法,达到在手机端用webview展示html中的图片,能自适应手机屏幕展示。 这是一种方式,还有二三中。 使用Jsoup查找img标签,替换图片的宽度和高度 实现...
Android webview加载本地html实现跨域访问
我们在做一个项目时需要把服务器的网页代码保存到本地节省流量,而里面的数据在服务器使用ajax来获取的,当我们把这个网页用本地wenview打开时,在ajax使用时会报 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s exp
Android webview加载HTML后缀的数据
android webview 加载白屏问题
如果重写了shouldOverrideUrlLoading(WebView view, String url)或者shouldOverrideUrlLoading(WebView view, WebResourceRequest request)不要忘记添加 webView.loadUrl(url);如下图:
Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)
简述:     WebView是什么?有什么用途?我们先来看一下官方介绍:      A View that displays web pages. This class is the basis upon which you can roll your own web browser or simply display some online content within your Ac
Android WebView使用loadData方法来加载html数据
loadData()需要三个参数: HTML TAG ,MIME类型(text/html), 网页编码方式(utf-8).           使用它时可能会发现有如下问题:           I.  loadData不能加载图片内容,如果要加载图片内容或者获得更强大的Web支持请使用loadDataWithBaseURL。           II
android之webView加载javascropt
NULL 博文链接:https://wang-peng1.iteye.com/blog/561570
android加载webview实例
android中加载webview页面,使用android中自带的webview控件加载自己编写的置于apache目录下的php页面,内附android代码、php页面、数据库及效果图
Android的WebView加载异常问题
1.异常情况:WebView加载网页时,一直跑WebViewClient的onReceivedError方法,而网页是可以正常加载出来的,这就郁闷了。onReceivedError是网页加载失败才调用的,一般也用来做网页加载失败的处理,而现在网页是加载出来的,却跑到onReceivedError方法。怎解private WebViewClient client = new WebViewClient
Android webview 加载本地文件
在eclipse  里面与 Android  studio 里面略有不同, 不注意的话, 总是会报告“文件找不到” 的错误信息; eclipse 放置文件夹 assets 到  project/下面 但是  android studio 里面 需要放置  assets  到   project/app/src/main 下面 4
android webview 加载本地文件
新建一个activity,里面放一个webview <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:to
Android Webview 加载 H5Video
最近公司某项功能需要WebView加载H5的Video,搜索很多资料后发现很多问题,都是关键代码片段,因为每个项目每个人产生的问题不同,Video在webview中加载不出来原因很多,可能是客户端少了参数,也可能是前端出了问题,经过研究后对Android WebView 加载H5Video标签做此详解。 博客地址 http://blog.csdn.net/u014513456/article/details/54381361
Android 的WebView加载异常问题
net::ERR_ADDRESS_UNREACHABLE 参考博客: https://blog.csdn.net/yk377657321/article/details/71668608 最近做项目,老是遇到一个问题,我利用webview加载页面的时候,当我连的生产的服务器时,从来没有出现过webView报net::ERR_ADDRESS_UNREACHABLE的问题,可是,在我连 我们后台...
android webView加载网络视频
之前,我写过webView加载本地网页的博客,今天,就写写webView加载网络视频的内容。 一、加载网页 1.WebView用来显示网页,使用必须时刻注意我们需要添加网络权限 "android.permission.INTERNET"/> 二.在界面定义一个webView,然后获取WebSetting
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制