Android与Vue的交互的方法示例

 更新时间:2018年05月28日 08:22:56   作者:laocaixw  
这篇文章主要介绍了Android与Vue的交互的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

做过 Android 混合开发的,应该都知道 Android 中 Java 代码和 Javascript 代码之间的交互怎么做。

首先回顾一下 Java 和 Javascript 之间的交互。

JavaScript 调用 Java

Android 中 WebView 添加供 Html 页面调用的 Java 方法:

mWebView.addJavascriptInterface(new DirectToJS(), "AndroidObj");

class DirectToJS{
  @JavascriptInterface
  public void showToast(){
    Toast.makeText(this, "Android Toast",Toast.LENGTH_SHORT).show();
  }
}

Html 页面中 JavaScript 调用 Java 方法的方式如下:

window.AndroidObj.showToast();

JavaScript 代码中: window 是网页的 Window 实体,这个做前端开发的人都非常熟悉; AndroidObj 是 Android 端给 WebView 提供的一个实体,Android 会将这个实体赋给 WebView 的 window; showToast() 就是 Java 提供给 Html 的方法。

Java 调用 JavaScript

首先 Html 上写个普通的 JavaScript 方法:

function showAlert(){
  alert("Html Alert");
}

Android 中只要执行以下代码即可:

mWebView.loadUrl("javascript:showAlert()");

Vue 框架上的坑

如果前端用的是 Vue 框架,那么如果你在 js 脚本上直接写一个方法,Android 是调用不到的,无论是写在那个位置。

这是因为 Vue 框架中,脚本上的方法不是属于 window 的方法,你应该将要提供给 Android 调用的方法赋给 window,这样,Android 中才能调得到:

window['showAlert'] = {
  alert("Html Alert");
}

总得来说,对于普通的网页,写在 js 脚本上的方法,默认都是属于 window 实体的;而 Vue 框架中,由于框架内部的实现机制比较特殊,你写在 js 脚本上的方法,不是真正页面上的方法,所以在 Android 中是调用不到的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android添加ButterKnife时报错Error:(2, 0) Cannot add extension with name ''android''的解决办法

    Android添加ButterKnife时报错Error:(2, 0) Cannot add extension wit

    今天小编就为大家分享一篇关于Android添加ButterKnife时报错Error:(2, 0) Cannot add extension with name 'android'的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Android入门之Toast的使用教程

    Android入门之Toast的使用教程

    Toast是一种很方便的消息提示框,会在 屏幕中显示一个消息提示框,没任何按钮,也不会获得焦点一段时间过后自动消失!非常常用!本文就来通过一个例子把Toast的使用讲透
    2022-11-11
  • 完美实现ExpandableListView二级分栏效果

    完美实现ExpandableListView二级分栏效果

    这篇文章主要为大家详细介绍了ExpandableListView实现二级分栏效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Kotlin入门教程之开发环境搭建

    Kotlin入门教程之开发环境搭建

    最近kotlin大热,Kotlin作为 Android 领域的 Swift,绝对让你如沐春风,下面这篇文章主要给大家介绍了关于Kotlin入门教程之开发环境搭建的相关资料,文中将实现的方法一步步介绍的非常详细,需要的朋友可以参考下。
    2017-10-10
  • android 仿微信demo——微信消息界面实现(移动端)

    android 仿微信demo——微信消息界面实现(移动端)

    本系列文章主要介绍了微信小程序-阅读小程序实例(demo),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能给你们提供帮助
    2021-06-06
  • Android 数据库SQLite 写入SD卡的方法

    Android 数据库SQLite 写入SD卡的方法

    如果手机没有root,数据库文件是无法查看到的,不方便调试。最好的办法是把数据库写进SD卡。通过本文给大家介绍Android 数据库SQLite 写入SD卡的方法,需要的朋友参考下吧
    2016-04-04
  • android实现可自由移动、监听点击事件的悬浮窗

    android实现可自由移动、监听点击事件的悬浮窗

    这篇文章主要为大家详细介绍了android实现可自由移动、监听点击事件的悬浮窗,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android Studio 代码导航快捷键

    Android Studio 代码导航快捷键

    这篇文章主要介绍了Android Studio 代码导航快捷键的相关资料,需要的朋友可以参考下
    2018-03-03
  • kotlin使用建造者模式自定义对话框

    kotlin使用建造者模式自定义对话框

    这篇文章主要为大家详细介绍了kotlin使用建造者模式自定义对话框的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android ActionBar搜索功能用法详解

    Android ActionBar搜索功能用法详解

    这篇文章主要介绍了Android ActionBar搜索功能用法,较为详细的分析了Android ActionBar搜索功能使用中的相关注意事项与操作技巧,需要的朋友可以参考下
    2016-07-07

最新评论