【问题标题】:How to create Worklight instance without Android Activity如何在没有 Android Activity 的情况下创建 Worklight 实例
【发布时间】:2014-11-17 15:42:58
【问题描述】:

我正在使用 MVVMCross 框架来开发我的 Xamarin 应用程序。我在项目中使用 IBM Worklight API 时遇到了挑战。 IBM Worklight SDK 附带的示例项目通过传递 Android Activity 来初始化 Worklight Client 实例。但是,当我使用 MVVM 时,我根本不直接创建任何活动,因为我的所有功能都在一个单独的 PCL 项目中的 ViewModel 类中

首先,我在 PCL 项目中添加 IBM Worklight 组件时遇到了挑战,因为 IBM Worklight 库仅在 Xamarin 组件商店中发布,而不在 Nuget 中发布。我不得不在 Android 项目中引用 IBM Worklight 组件,并在 PCL 项目中引用 Worklight.Android.dll 来获取我需要的类的实例。

现在的挑战是,我不确定如何从 PCL 项目的视图模型中实例化 Worklight Client 实例,因为该实例需要一个我没有的 Android Activity

有没有办法在没有 Android Activity 的情况下创建 Worklight 客户端实例?

【问题讨论】:

    标签: android mvvm xamarin ibm-mobilefirst mvvmcross


    【解决方案1】:

    请看这里:Why native WLClient lifecycle bind to Activity lifecycle

    Worklight 当前的实施方式并不理想,可以改进。之所以这样,是因为 WLClient 有一些功能,例如显示 UI 错误消息、监控应用程序是否在前台/后台进行心跳以及推送通知支持,这些都需要 Android 上下文。

    我目前不知道如何解决这个问题...

    【讨论】:

    • 您始终可以将初始化代码作为Action 注入PCL 中的ViewModel - PCL 代码不必知道Action 的内部结构。
    猜你喜欢
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    相关资源
    最近更新 更多