什么是创建Android应用程序的正确方法?

时间:2012-11-20 10:39:59

标签: java javascript android google-maps

我对Android应用程序有一个好主意,但由于我只熟悉php / js,我不确定应该选择哪种方法来创建它。该应用程序将基于具有大量位置标记的谷歌地图。不会有任何花哨的动画或其他繁重的资源要求活动。

我认为有三种不同的选择:

  1. 阅读Java并用Java编写整个程序
  2. 在Java中创建地图活动作为mapview,然后将webviews用于其他活动(可以轻松编写为html5网页脚本。)
  3. 将所有内容编写为webapp(不是真正的选项,因为这不是真正的移动应用程序。
  4. 我最热衷于使用否。 2因为我对html / php / js / mysql非常熟悉。但是,必须阅读html5细节。问题:

    1. 我需要访问GPS和相机硬件。在网页浏览中是否可以这样做?
    2. 在webview活动中的js和其他活动中的java之间传递变量有多复杂?
    3. 如果我使用选项1和选项2,我可以预期性能有多大差异?
    4. 其他想法?
    5. 亲切的问候, 安德斯

4 个答案:

答案 0 :(得分:3)

你可以选择2号,但是当我们谈论Android手机时,你可能想要为你的地图获得非常准确的坐标,你只能通过访问手机GPS,通过网页浏览获得最佳效果。是设备互联网IP地址的位置,这不会导致非常准确的地理位置。 在我看来,最好的选择是100%的java应用程序。

答案 1 :(得分:2)

1)是的,这是可能的,但是评论说它不太准确,可能很慢。

2)并不复杂。如果您需要在webview和本机应用程序之间进行大量交互,那就太痛苦了。使用可以从本机应用程序设置的Javascript接口。你基本上可以在webview的html中注入javascript。

3)性能的异质性取决于设备。因为您的实现将基于设备的浏览器,所以对于旧设备而言,您可能会遇到非常缓慢的行为。根据我的经验,任何与HTML事件有关的事项(拖动,标签...)都会对大多数设备产生影响。

4)正如@vodich评论的还有其他派对框架。我对PhoneGap和其他基于js的选项的基准测试是,如果你正在寻找开发专业应用程序,它们是浪费时间。我还没有在Adobe AIR上开发,但是发现需要安装插件才能获得本机功能(访问传感器,摄像头等)很麻烦。移动是关于快速响应的行为。 HDI是您的手指,用户速度快,因此应用程序需要快速。

编辑:好吧,好吧! Java FTW!

阿尔伯特。

答案 2 :(得分:1)

  

4.其他强硬?

是的,如果您真的想制作一款优秀的Android应用,那么您应该只使用Android和特定的Android UI组件,并为其提供原生外观。关于1,2是的,有可能,我认为只是整合它们并不那么复杂,但我认为你最终会遇到大问题。

答案 3 :(得分:1)

学习Java并在本地编写应用程序。

Webview可能允许您使用您的PHP技能向用户呈现内容,但它完全是单向的 - 您将无法与内部的内容进行交互。

Android开发者网站提供了出色的documentation,从PHP跳到Java并不是很困难,尽管你需要习惯严格的打字和“真正的”OOP。

其他想法?不要沿着PhoneGap /跨平台工具包的道路前进 - 它可能允许您为多个平台编写应用程序并使用您当前的技能,但最终您会得到一个在任何平台上都感觉不对的subpar应用程序并且不会很好,因为iOS和Android的未来版本已经发布。