# ffsky-app-dsbridge **Repository Path**: pigadmin/ffsky-app-dsbridge ## Basic Information - **Project Name**: ffsky-app-dsbridge - **Description**: 基于 com.github.wendux:DSBridge-Android:3.0.0 项目升级webview,分离webview和dsbridge。 DSBridge Android - **Primary Language**: Android - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-01-07 - **Last Updated**: 2025-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ffsky-app-dsbridge #### 介绍 ffsky-app-dsbridge 组件 1. 基于 [DSBridge-Android 3.0.0修改优化而来 https://github.com/wendux/DSBridge-Android.git ] 2. 简化WebView中js插件开发、迭代、维护,专注于业务开发. 类 | 原项目类名 | 优化后类名 | 备注 | |--------------------------|-----------------------|----------------------------------------------| | DWebView | DSWebView | webview扩展 | | CompletionHandler | DSCallback | js调用Native,Native回调js callback | | OnReturnValue | DSResultListener | Native调用js后,接收js回调结果 | | JsCloseWindowListener | OnWindowListener | 页面关闭前,关闭页上层Dialog或者其它View | | DsUtil | 迁移到 BasicBridge | 方法合并 | | CallInfo | DSCallInfo | 修改类作用域 | FileChooser | 移除 | 使用WebChromeClient onShowFileChooser 方法实现文件选择 | | - | - | - | | | WebViewEvent | 新增 | | | DSPlugin | 新增 | | | BasicBridge | 新增 | | | DSPluginProvider | 新增 | | innerJavascriptInterface | DSExecute | 分离 | | new Object(...),_dsb | DSChannel | 分离 | #### 使用说明 1. 引入库 ```gradle api "com.gitee.hljdrl:dsbridge:1.0.0" ``` ### JsToNative ```xml ``` ```Java package com.ffsky.template.demo.app; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.ffsky.template.demo.R; import com.ffsky.template.demo.jsapi.JsApi; import com.ffsky.template.demo.jsapi.JsEchoApi; import com.gitee.hljdrl.dsbridge.DSWebView; public class JsToNativeActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_js_call_native); final DSWebView webView= findViewById(R.id.webview); // set debug mode DSWebView.setWebContentsDebuggingEnabled(true); // dwebView.addJavascriptObject(new JsApi(), null); // dwebView.addJavascriptObject(new JsEchoApi(),"echo"); webView.addDSPlugin("echo", JsEchoApi.class); webView.addDSPlugin(null, JsApi.class); webView.loadUrl("file:///android_asset/js-call-native.html"); } } ``` ### NativeToJs ```xml