【问题标题】:What's the right approach for creating an Android app?创建 Android 应用程序的正确方法是什么?
【发布时间】:2012-11-20 10:39:59
【问题描述】:

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

在我看来,有三种不同的选择:

  1. 阅读 Java 并用 Java 编写整个程序
  2. 在 Java 中将地图活动创建为地图视图,然后将 Web 视图用于其他活动(可以轻松地编写为 html5 网页的脚本。)
  3. 将所有内容编写为 web 应用程序(不是一个真正的选项,因为这不是真正的移动应用程序恕我直言。

我最热衷于使用 no。 2 因为我对 html/php/js/mysql 非常熟悉。不过,必须阅读 html5 的细节。问题:

  1. 我需要访问 GPS 和相机硬件。这在 webviews 中可以实现吗?
  2. 在 webview 活动中的 js 和其他活动中的 java 之间传递变量有多复杂?
  3. 如果我使用选项 1 和选项 2,我预计性能会有多大差异?
  4. 其他想法?

亲切的问候, 安德斯

【问题讨论】:

  • 看看这个可能就是你要找的phonegap

标签: java javascript android google-maps


【解决方案1】:

您可以选择数字 2,但是当我们谈论的是 android 手机时,您可能希望获得真正准确的地图坐标,而您只能通过访问手机 GPS 来实现这一点,通过 webviews 获得最好的是设备互联网 IP 地址的位置,这不会导致非常准确的地理位置。 在我看来,最好的选择是 100% java 应用程序。

【讨论】:

    【解决方案2】:

    1) 是的,这是可能的,但正如评论的那样,它会不太准确并且可能很慢。

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

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

    4) 作为@vodich cmets,还有其他方框架。我对 PhoneGap 和其他基于 js 的选项的基准测试是,如果您正在考虑开发专业应用程序,它们是在浪费时间。我没有在 Adob​​e AIR 上进行开发,但发现需要安装插件以获得本机功能(访问传感器、相机等)很痛苦 移动就是快速、响应式行为。 HDI 是你的手指,用户很快,所以应用程序需要很快。

    编辑:太棒了! Java FTW!

    阿尔伯特。

    【讨论】:

    • 感谢您的有用回复。看起来社区对选项 1 非常一致,所以我想我会同意 :)
    • 没问题!你不会后悔花一些时间在 Java 上。特别是如果您的项目规模扩大并且您需要添加功能。祝你好运!
    【解决方案3】:

    4.其他的强项?

    是的,如果您真的想制作出色的Android 应用程序,您应该只使用Android 和特定的Android UI 组件,并赋予它原生的外观和感觉。关于 1,2 是可能的,我想说只是整合它们并不复杂,但我认为你最终会遇到大问题。

    【讨论】:

    • 那么这和没有1有什么不同?
    • 它是第一名。与第一名一起去。 Android 中的程序。
    【解决方案4】:

    学习 Java 并以本机方式编写您的应用程序。

    Webviews 可能允许您使用您的 php 技能向用户展示某些内容,但这完全是单向的 - 您将无法与里面的内容进行交互。

    Android 开发者网站提供了很棒的 documentation,从 PHP 跳转到 Java 并不是很困难,但您需要习惯严格的输入和“真正的”OOP。

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

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 2020-11-11
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 2015-07-27
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多