JSBridge-Android:高效、安全的Hybrid开发利器

打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

JSBridge-Android:高效、安全的Hybrid开发利器

  JSBridge-AndroidA solution for safe and fast interaction between js and native,it's minimum support API 14;项目地址:https://gitcode.com/gh_mirrors/js/JSBridge-Android
在移动应用开发范畴,Hybrid开发模式因其灵活性和高效性而受到广泛欢迎。然而,实现JavaScript与原生代码之间的无缝交互不停是开发者面临的挑战。今天,我们向您推荐一款开源项目——JSBridge-Android,它为Android开发者提供了一个高效、安全的办理方案。
项目介绍

JSBridge-Android是一个基于WebView的JavaScript与Android原生代码交互库。该项目源自lzyzsd的JsBridge,但由于原项目存在调用丢失和效率题目,JSBridge-Android对其进行了重构和优化。通过直接使用WebView的addJavaScriptInterface方法,JSBridge-Android实现了目前最高效的系统级交互方式。
项目技术分析

技术亮点:


  • 高效交互:不再使用URL Scheme拦截方式,而是直接采用WebView的addJavaScriptInterface方法,确保了交互的高效性。
  • 兼容性:支持API Level 14及以上,满足了广泛的用户需求。
  • 安全性:使用onJsPrompt方法进行交互,并移除了低版本的三个危险漏洞,确保了交互的安全性。
  • 灵活扩展:支持外部WebView扩展,如X5 WebView和UC内核,提供了更多的定制选项。
技术实现:



  • 交互方式:通过addJavaScriptInterface方法直接与WebView进行交互,克制了URL Scheme拦截的低效题目。
  • 安全步伐:使用onJsPrompt方法进行交互,并移除了低版本的三个危险漏洞,确保了交互的安全性。
  • 版本支持:支持API Level 14及以上,满足了广泛的用户需求。
  • 扩展性:提供了外部WebView扩展方案,如X5 WebView和UC内核,方便开发者根据需求进行定制。
项目及技术应用场景

JSBridge-Android适用于以了局景:


  • Hybrid应用开发:在混淆应用中,实现JavaScript与Android原生代码的高效、安全交互。
  • Web与原生交互:在须要Web页面与原生功能进行交互的应用中,如电商、社交、金融等。
  • WebView扩展:在须要使用第三方WebView内核的应用中,如X5 WebView和UC内核。
项目特点

紧张特点:


  • 高效性:通过直接使用WebView的addJavaScriptInterface方法,实现了最高效的系统级交互方式。
  • 安全性:使用onJsPrompt方法进行交互,并移除了低版本的三个危险漏洞,确保了交互的安全性。
  • 兼容性:支持API Level 14及以上,满足了广泛的用户需求。
  • 灵活扩展:支持外部WebView扩展,如X5 WebView和UC内核,提供了更多的定制选项。
使用步调:


  • 导入SDK

    • 在项目的根目次build.gradle中的repositories添加:
      1. repositories {
      2.     mavenCentral()
      3. }
      复制代码
    • 在模块的build.gradle(Module)的dependencies添加:
      1. dependencies {
      2.     implementation 'com.smallbuer:jsbridge:1.0.7'
      3. }
      复制代码

  • 新增原生功能module

    • 继承BridgeHandler并实现handler方法,比方:
      1. public class ToastBridgeHandler extends BridgeHandler {
      2.     @Override
      3.     public void handler(Context context, String data, CallBackFunction function) {
      4.         Toast.makeText(context, "data:" + data, Toast.LENGTH_SHORT).show();
      5.         function.onCallBack("{"status":"0","msg":"吐司成功"}");
      6.     }
      7. }
      复制代码

  • 原生功能注册

    • 对全部的原生功能进行全局注册,分为两种方式,推荐方式二:
      1. //style 2
      2. var handlerMap = HashMap<String, BridgeHandler>();
      3. handlerMap[HandlerName.HANDLER_NAME_TOAST] = ToastBridgeHandler();
      4. handlerMap[HandlerName.HANDLER_NAME_PHOTO] = PhotoBridgeHandler();
      5. handlerMap[HandlerName.HANDLER_NAME_REQUEST] = RequestBridgeHandler();
      6. Bridge.INSTANCE.registerHandler(handlerMap);
      复制代码

  • 使用方法

    • 直接使用封

  JSBridge-AndroidA solution for safe and fast interaction between js and native,it's minimum support API 14;项目地址:https://gitcode.com/gh_mirrors/js/JSBridge-Android

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表