【问题标题】:Nativescript plugin - Communication with third party native libraryNativescript 插件 - 与第三方原生库的通信
【发布时间】:2018-05-03 11:12:11
【问题描述】:

如果可以,请提供快速帮助。试图实现对第三方本机函数的调用,该函数接受一个必须用回调函数实现某个接口的对象。您将如何在 Nativescript 端创建一个类似的对象并将其传递给该本地函数?

Java 示例:

public class Logger {
    public static void setListener(LogListener listener) {
        // native code
    }
}

public interface LogListener {
    void onMessageLogged(LogMessage message);
}

【问题讨论】:

    标签: nativescript nativescript-plugin


    【解决方案1】:

    所以你想将LogListener 传递给setListener

    在 TypeScript 中:

    const myLogListener = new change.packagename.LogListener({
       onMessageLogged: message => {
         console.log(message);
       }
    });
    
    logger.setListener(myLogListener);
    

    【讨论】:

    • 感谢您的回复,但这似乎不起作用。 LogListener 在 Java 库中被声明为接口而不是类,因此在尝试使用“new”关键字进行实例化时出现错误。所以这里真正的问题是如何在 Typescript 上创建一个类并将其传递给 Java 库,以便它接受它作为 LogListener 接口的实现。
    • 这很奇怪.. 看看这个 Listener 接口示例:github.com/EddyVerbruggen/nativescript-mapbox/blob/…
    • 重新检查后,我发现创建类的方式有一个错字。我会将此答案设置为正确的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多