3

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

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

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

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

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

亲切的问候,安德斯

4

4 回答 4

3

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

于 2012-11-20T10:47:58.947 回答
2

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

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

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

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

编辑:是啊!Java FTW!

阿尔伯特。

于 2012-11-20T11:02:08.197 回答
1

4.其他的强项?

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

于 2012-11-20T10:47:49.210 回答
1

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

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

Android 开发者网站提供了出色的文档,从 PHP 跳转到 Java 并不是很困难,尽管您需要习惯严格的类型和“真正的”OOP。

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

于 2012-11-20T10:52:04.160 回答