`

android中的webview 加载html,并可以实现java调用js

阅读更多




记得上一个项目中在类似网易新闻的详细布局。如下:

    最后因为服务器返回的数据已经存在标签,客户的需求也没有要求做成类网易的详细界面,接下来的这个项目客户给的要求已经体现了,所以又仔细了研究了下关于在手机客户端
上显示文字与图片的布局。大家可以直接反编译下网易,百度,搜狐之类的客户端,它们都是用webview控件来展现新闻界面的~
     至于如何实现java 和  js  的交互,网络上也有许多,但是一直没有找到很完全的,最多是一个简单的按钮弹出!
下面我将把实现代码放上!
可以分如下几步:
     1.准备好所需求的××.html。我们一般这样创建;在assets中创建自己的一个文件夹(如:www)。其中可以创建自己的html 及css,js文件夹。
     2.在android 中要有webView控件。当然别忘了主配置文件中要加上<uses-permission android:name="android.permission.INTERNET" />
     3.
//这个是让webview 可以实现js
wvDetailBody.getSettings().setJavaScriptEnabled(true);
//这里是要创建一个对象来对js进行操作(MyContent)
        webview.addJavascriptInterface(myJavaScriptInterface
          , "MyContent");   
     4.创建myJavaScriptInterface类及想要实现的调用方法



注意一下几点:
      1.传入到js中的数据不可以带标签(自己测试的),如果带会报 EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
      2.最好在更新webview 放在ui 线程中!
      3.还有是在开发中,webview 默认是白色背景很难看,改变它会在不同系统中不一样,但是有一种是可以完成,即:在需要的activity中标记android:hardwareAccelerated="false" 。并在代码中
webview.setBackgroundColor(0);// set transparent即可。
最后代码附上!
希望对你有帮助!
最后的效果图:
  • 大小: 356.6 KB
  • 大小: 276.5 KB
2
0
分享到:
评论
2 楼 JavaEEdyc 2015-01-05  
http://m.qianka.com/shoutu?u=21120061&referer_code=0349&from=singlemessage&isappinstalled=1


[b]看看别人的产品营销模式多么动人,大公司,肯花大钱啊![/b]
1 楼 zhangyang5023637 2014-08-14  
讲的挺明白的。

相关推荐

Global site tag (gtag.js) - Google Analytics