2013-01-16 52 views
2

我们需要创建一个应用程序,该应用程序适用于员工的时间跟踪以及位置跟踪。 我们只想为Android编程,但我们没有任何Android技能。为Android创建位置跟踪应用程序:native还是phonegap?

因此phonegap是一个很好的选择。 但有几个问题,我无法在网上找到明确的答案。

  • 如果手机处于待机模式,phonegap-app是否仍可发送位置数据?这仍然是phonegap标准还是我需要使用插件?

  • 智能手机将非常简单和便宜。是否有更高的风险,手机应用程序被Android关闭以释放内存,然后是原生应用程序?

总而言之,可以推荐投入时间学习Android,还是留在我们的语言JS会更好?

回答

1

使用phonegap编写位置跟踪应用程序是非常可行的,并且a)在低规格android手机上以高性能的方式工作,b)当手机处于待机模式时,让应用程序在后台运行。

为了让应用程序在android的后台运行,需要获取部分唤醒锁(请参阅android powermanager)。在phonegap中,你需要使用一个插件来实现这一点。从好的方面来说,有一个existing phonegap plugin来做到这一点。缺点是,为了使用自定义插件,您将无法使用方便的phonegap build方法来构建应用程序,因此需要通过Eclipse IDE执行手动过程,但这不是一个很麻烦的设置(见here)。

由于android应用程序内存不足而导致应用程序关闭,并且在廉价,低规格的设备上执行响应,只要您仔细编写JavaScript代码,这不会成为问题以最佳方式。我已经使用phonegap实现了一个位置跟踪应用程序,该应用程序使用自定义地图并在包括HTC Desire和HTC Wildfire在内的旧版Android设备上进行测试,性能可以接受,部分唤醒锁定工作 - 我没有因为缺乏记忆。

我选择phonegap over native,因为我是一个web开发人员,所以对我来说Javascript比我更方便,而不必从头开始使用Java和android SDK,还因为我能够使用相同的JS代码库适当的插件来为iOS生成相同的应用程序。 Phonegap能够访问设备上的GPS硬件并在外面进行测试,我发现平均精度在4到8米之间,具体取决于设备。 希望这有助于!

+0

谢谢Dpa99c,很高兴听到它对您有用,但我们最终决定 - 经过长时间的讨论 - 聘请自由职业者在本地实施。他的策略是使用Android服务,即使应用程序由操作系统关闭,第二个轻量级的Android服务也会保持活跃状态​​,这会重新激活第一个Android服务以防止其关闭。 – VintageOnRails

+0

Hi @VintageOnRails你知道在应用程序关闭后让应用程序保持活跃状态​​的Android服务的名称。 –