2014-03-06 92 views
3

目的是记录并分析GPS轨迹:跨移动后台服务

  • 对于需要将记录与GPS iOS和Android设备/在同一时间
  • 对于其他设备分析(平板电脑 - 桌面)就足够了分析以前录制的音轨(浏览器)

它是确定有一些特定于平台的代码,但我想的iOS,Android和网络之间共享“分析”部分AND能够运行而iOS/Android应用程序则是背景照明。

我用JavaScript编写的一些 “分析” 的代码,所以我开始寻找这个顺序选择:


1)不要在一个web应用程序

iOS的Safari浏览器停止运行一切JavaScript当背景时。

没有运气。背景执行时


2)使用PhoneGap的或相似

JavaScript的停止。建议将所有服务代码编写为本机插件。

没有运气。


3)使用钛合金

花了两个星期才发现,在钛的Android服务的实现是不完整的。它缺少startForeground(..),它用于要求Android不要终止该服务。有人试图为此实现本地模块,但报告说,虽然服务本身正在运行,但JavaScript不会。


4)使用果酱用于移动和编译的C++为JavaScript的Web

快速谷歌搜索所述C++代码,不能从服务运行


5)使用MoSync为移动和编译C + +到JavaScript的网络

快速谷歌搜索说他们不支持服务。另一方面,我在他们的来源中看到了startForeground(..),所以可能值得重新检查。


7)写在C:本机适用于iOS,JNI的Android,编译成JavaScript的Web

没有检查尚未


6)使用一个代号for mobile and compile Java to JavaScript for Web

还没有检查


而且我的问题:

Q1。您是否可以确认上述每个选项是否可以用于此类应用程序

Q2。我特别感兴趣的钛(如已投资于它)。我正在考虑一个带有虚拟Service的原生Android模块,它除了要求Android不要杀死其真正的Titanium服务与Activity一起运行的进程。

它会工作吗?

Q3。其他选择/一般建议?

谢谢。

回答

1
  1. 当我们遇到了“超级骗子”的框架限制,我带着本土知识:添加一个插件PhoneGap的了解如何关联的,写这两个平台。

  2. 钛没有经验,对不起。我不认为我甚至会打开他们的页面来阅读他们你好。

  3. 回到你原来的任务,只要再看一下外面你的鞋(如我会问它,你应该回应)

“我们的目标是要记录并分析GPS轨迹: 我d喜欢在iOS,Android和Web之间共享“分析”部分,并且能够在iOS/Android应用程序背景下运行此代码。“

建议1:只需在C/C++中重新编写代码即可。使用Android SDK/NDK和iOS编译.so链接。

建议2:“我有一些用JavaScript编写的”分析“代码,因此我开始寻找选项”将代码移到服务器端,在那里运行node.js和现有代码。你的应用程序将得到一个结果通知。

建议3:最后编写真正的平台特定应用程序,并充分使用硬件+操作系统功能。其他JavaScript的目的是做数学。