- 浏览: 3902567 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hinuliba:
...
字体背景颜色的高度修改 -
KANGOD:
最后的 -createDialog() 私有方法是怎么回事,没 ...
简单的实现listView中item多个控件以及点击事件 -
sswangqiao:
呵呵,呵呵
onActivityResult传值的使用 -
yumeiqiao:
感觉你所的不清楚 lstView.setOnTouchLi ...
listview中viewflipper的问题 -
lizhou828:
果然是大神啊!!!
Animation动画效果的实现
首先在layout文件夹下的xml中 加入
<WebView android:id="@+id/wv1" android:layout_width="fill_parent" android:layout_height="fill_parent" />
public class jsWebDemo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView wView = (WebView)findViewById(R.id.wv1); ProxyBridge pBridge = new ProxyBridge(); wView.addJavascriptInterface(pBridge, "AliansBridge"); WebSettings wSet = wView.getSettings(); wSet.setJavaScriptEnabled(true); wView.loadUrl("file:///android_asset/index.html"); } public class ProxyBridge { public int one () { return 1; } } }
wView.addJavascriptInterface(pBridge, "AliansBridge");
上句代码是实例化一个方法为的是在html中的js中调用,第二个参数则是 实例化方法的别名,如果要使用这个pBridge,则在js中使用的名字就是AliansBridge。
WebSettings wSet = wView.getSettings();
wSet.setJavaScriptEnabled(true);
上面两句就是允许使用js的意思
wView.loadUrl(file:///android_asset/index.html);
就是在asset下放入一个index.html文件,这个文件包含js的代码,注意路径是“///”,这个android_asset不是文件夹的名字是系统自动生成的,其实就是asset文件夹的系统路径。
index.html 内容如下
<html><body> <div id="output">Test page.</div> <input type="submit" value="change to 1" onclick="document.getElementById('output').innerHTML = AliansBridge.one()" /> </body></html>
这里要注意 如果你只有一个方法需要被js调用
ProxyBridge pBridge = new ProxyBridge();
wView.addJavascriptInterface(pBridge, "AliansBridge");
如果你需要调用好多个方法呢 这里只要
wView.addJavascriptInterface(this, "AliansBridge");
把整个android程序所在的类 本身实例化传递就可以了
这里呢可以参看附件中的实例riademo
你如果想继续扩展可以参看
http://www.ophonesdn.com/article/show/115
2.上面是javascript调用android的方法,那么android也可以调用js的方法
public class webJsDemo extends Activity { /** Called when the activity is first created. */ private WebView mWebView; private Handler mHandler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.wv1); WebSettings webSettings = mWebView.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); mWebView.setWebChromeClient(new MyWebChromeClient()); mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo"); mWebView.loadUrl("file:///android_asset/demo.html"); } final class DemoJavaScriptInterface { DemoJavaScriptInterface() { } /** * This is not called on the UI thread. Post a runnable to invoke * loadUrl on the UI thread. */ public void clickOnAndroid() { mHandler.post(new Runnable() { public void run() { mWebView.loadUrl("javascript:wave()"); } }); } } /** * Provides a hook for calling "alert" from javascript. Useful for * debugging your javascript. */ final class MyWebChromeClient extends WebChromeClient { @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { // TODO Auto-generated method stub Log.d("aa", message); Log.d("url", url); Log.d("result", ""+result); result.confirm(); return super.onJsAlert(view, url, message, result); } }
其中上面的代码 也提到了怎么在android中调试js mWebView.setWebChromeClient(new MyWebChromeClient());
上面的代码来源于别人的实例。
最后还要注意在这个实例中demo.html和两个image应该在同一个文件夹asset下
- RIADemo.rar (29 KB)
- 下载次数: 206
评论
wView.loadUrl("file:///android_asset/index.html");
要放在
WebSettings wSet = wView.getSettings();
wSet.setJavaScriptEnabled(true);
之前调用,否则会有warning
发表评论
-
URI 转path
2019-06-26 10:41 1227转自知乎Matisse package com.zhihu ... -
权限申请
2017-09-22 13:25 1222public class PermissionActivit ... -
onPreviewFrame 相机输出格式转换yuv420p保存成图片
2015-11-25 15:59 7485在最近项目中,因为特殊需要,底层相机往外输出了i420 也 ... -
new Android's Runtime Permission
2015-11-03 21:05 1191targetSdkVersion 23 开始 使用运行时权 ... -
自定义listview 边缘效果
2015-02-28 10:58 1701static void ChangeEdgeEffect( ... -
发射打开wifi
2015-01-07 10:25 1373WifiManager wifiManager = (Wif ... -
RecyclerView
2014-11-05 13:08 1209http://www.grokkingandroid.com ... -
获取点击区域
2014-04-28 09:39 1519@Override public void getHitR ... -
speex 和libogg 编译
2014-04-03 16:17 6367下载: http://www.speex.org/down ... -
rsync 同步
2014-03-28 17:06 1800两台android 设备 进行rsy ... -
流转字符串
2014-03-11 09:49 1478public static String convertSt ... -
java simplexml 序列化
2014-03-06 13:22 5883<?xml version="1.0&quo ... -
获取其他程序的特定资源
2014-03-05 09:33 1656try { PackageManager man ... -
检测来电属于哪个sim卡
2014-02-07 10:41 1676public class IncomingCallInter ... -
使用 NDK r9 编译ffmpeg
2014-01-16 13:32 167641. 环境 ubuntu 我的是13.10 ndk r9 ... -
android h264含so
2014-01-13 11:24 1507http://download.csdn.net/downlo ... -
xml转义字符
2013-12-18 09:29 1556" " ' & ... -
字体背景颜色的高度修改
2013-12-11 10:31 4143当使用android:lineSpacingExtra= ... -
屏保的实现
2013-12-07 10:27 2722最近需要做一个屏保,开始以为很简单,因为系统本身就带了屏保功 ... -
PreferenceActivity下嵌套PreferenceScreen在其它布局中
2013-11-21 16:32 9099今天在修改系统代码的时候,系统代码用了PreferenceA ...
相关推荐
Android实现WebView懒加载,提前进行页面JS资源加载。减少WebView加载时间及加载资源问题。Android 8.0以前需要引入X5内核,Android 8.0以后无特殊要求。
Android webview 加载网页以及本地资源以及SD资源demo,以及加载缓存资源
Android webview加载网页
Android WebView 加载 PDF 文件实现。其原理就是在 app 本地搭建一个 website ,然后利用 WebView 加载这个站点,站点去实现加载显示 PDF 的目的,站点其原理也是采用 js 框架去实现的。
但如果跳转之后再加载,会看到webview有一个加载的过程,如果网页较大可能加载起来会很慢。这时我们利用启动页或引导页或中间的广告页的时间来预加载webview,利用View.gone,View.visible来实现控件类的隐藏与显示,...
做webview加载网页时,遇到一个问题,自带的webview错误页面不美观,于是自定义一个view提示用户,网上很多方法,也不稳定实现替换,结合网上的一些例子,加以优化和拓展,特此写一个完整版本的Demo供大家拿来直接...
android webView加载html 并引用本地资源(图片、字体库)
主要介绍了详解android 用webview加载网页(https和http),详细的介绍了两个错误的解决方法,有兴趣的可以了解一下
android webview加载网页获取对应url 参数值的方法(csdn)————程序
android用webview加载assert中的html并且可拨打页面中的电话。
实现webview加载时显示进度条,类似微信公众号文章加载。
本人自己写的一个android用webview加载html5播放视频,支持全屏播放!以前上传了个版本,那个要积分下载,但修改不了,所以重新上传一下!这个版本加了个全屏双击时会退出全屏!
Android通过JS在线用webview加载PDF文件(无限放大版本),支持webview无限放大
android webview加载gif图片,控件显示gif图片、加载网络图片,不卡,流畅,是开发者使用的好demo
demo中介绍使用webview加载本地页面,并在java代码中提供js调用事件,在html中动态生成组件button
webview加载失败,自定义错误页面处理
Android下WebView加载flash闪白屏问题解决方案源码
Android 通过 WebView 与 js 交互实现图文混排, 解决图片适配屏幕问题与查看大图功能
Android 获取WebView加载网页的例子,这个方法挺简单的,希望大家喜欢。 // 获取WebView对象 WebView webview = (WebView) findViewById(R.id.webview); // 使能JavaScript webview.getSettings()....