【问题标题】:Codename One SMS BroadcastReceiver and Service代号一短信广播接收器和服务
【发布时间】:2017-02-22 12:41:25
【问题描述】:

我正在考虑使用 Codename One 来尝试将我的代码应用到 iOS 中,但目前还不清楚我什至可以在 Codename One 中编写我当前的 Android 项目。

我的应用通过 GoogleCloudMessaging、通过 SMS 使用 BroadcastReceiver 以及通过 LAN 通过实现服务 (android.app.Service) 来监听输入。它还使用第 3 方 CloudRail 库向 Dropbox 写入数据。

如果我理解了这些文档,Codename One 不会轻易支持这些文档,对吗?我的应用程序是否过于特定于平台而无法移植到 Codename One?

【问题讨论】:

  • 由于这是特定于平台的,您可以通过本机接口实现它。至于 DropBox,有一个 SDK……github.com/chen-fishbein/dropbox-codenameone-sdk
  • 我的理解是chen-fishbein库三年没动过,只处理deprecated OAUTH1,不写dropbox。本机接口能否处理调用回代号一代码的服务功能?
  • 是的,应该可以。

标签: android broadcastreceiver codenameone


【解决方案1】:

您可以在 Codename One 中接收推送消息,但 GCM 可能不适合 iOS,因此您可以通过 APNS 接收它们,并通过我们的服务器来抽象操作系统差异。

我不确定您所说的“lan”是什么意思,您是指收听 UDP 广播吗?我们支持 TCP 套接字,但从未进入 UDP 部分,因为它不那么常见或可移植(关于低级 posix 调用存在一些复杂性)。您可以通过使用 Steve Hannah 编写的用于 tcp 套接字的 cn1lib 来进行抽象,并将其用作您的起点。

我们有 Dropbox 读取支持,但没有 Dropbox 写入,这应该是可行的。

除 Android 以外的平台上不存在后台服务,您可能知道,为了延长电池寿命,Android 新版本的行为正在发生变化。

如果某些事情在 iOS 上是可能的,您可能可以在 Codename One 上完成它,但是如果您的应用程序非常低级,那么 Codename One 可能不是理想的选择。

【讨论】:

  • 谢谢。我不认为该应用程序是“非常低级的”,但它不仅仅是一个 javascript 网页。它本质上确实充当各种消息的接收者,包括几乎作为 Web 服务器,以及使用语音合成和摄像头写入 DropBox。 “低级”到底有多“低级”?
  • 我们没有开箱即用的很多这些东西的抽象。例如,我们在 Dr.Sbaitso 演示中使用语音合成,并且我们通过本机接口进行,因为我们从未为此创建抽象。所以你可以做你提到的所有事情,但问题是本机代码/代号一代码的比率是多少。我真的很难说清楚,因为我们的抽象主要针对“典型的商业应用程序”,这非常模糊,通常意味着:“用户抱怨功能 X 缺失,所以我们添加它”。我认为我们没有足够的用户使用您的用例...
猜你喜欢
  • 2022-01-08
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多