【问题标题】:Architecture for Android app using GWT使用 GWT 的 Android 应用程序架构
【发布时间】:2023-03-09 15:55:01
【问题描述】:

我需要使用 Java 构建 Android 应用程序,该应用程序能够发送请求以读取或写入一些数据到谷歌网络服务器上的“数据库”或类似数据存储(使用 GWT 技术)。 Android 应用程序应该能够使用 Google 帐户对用户进行身份验证,向服务器发送请求以将数据添加到服务器上的数据库,从服务器接收数据。 我想知道我应该使用的最佳方法和架构是什么?我应该使用什么机制通过网络获取数据响应(RPC、GET 请求)?我应该在服务器端(servlet,...)放什么? 有如何构建 gwt 应用程序的示例:它在浏览器中运行 1.javascript 2.servlet、service、serviceImpl、serviceAcynch 等...我认为这对我的应用程序没有用,因为我需要直接获取数据并将数据发送到/来自服务器。

我需要与 GWT 服务器进行数据交换以获取/更新我的 Google MapView 的坐标。因此我需要在android客户端应用程序和GWT之间使用数据交换机制。


为什么我在 android 上需要这个?我必须能够获取 android 设备的 GPS 位置并使用网络服务器更新数据,然后在地图上显示我的 android 设备位置。我需要 GWT 来存储、放置、返回位置数据(例如显示访问过的位置)。它应该构建为 Android 原生应用程序吗?如何更新,从 GWT 服务器获取数据?

【问题讨论】:

  • 您刚刚描述了一个移动网络应用程序。我认为将其开发为本机应用程序没有任何意义。
  • 原生应用是安装在手机上的东西,网络应用是通过网络浏览器访问的应用。您对应用程序的描述不包含任何需要构建本机应用程序的功能,特别是如果您的应用程序完全依赖于 Web RPC 接口。
  • 尽管正如其他人在这里指出的那样,您并没有真正描述本机应用程序,但如果您想要一个本机应用程序用于可发现性(应用商店),或者您没有提到的其他一些原因,您可能想要看看PhoneGap之类的东西,以及与之结合的GWT Mobile之类的东西。当然,您不必使用其中任何一个来执行您所描述的操作,但由于您可能已经熟悉 GWT,因此这些可能值得研究。
  • 我应该使用 Google App Engine 代替 GWT 吗?为了:“我需要与 GWT 服务器进行数据交换以获取/更新我的 Google MapView 的坐标。因此我需要在 android 客户端应用程序和 GWT 之间使用数据交换机制。”

标签: android gwt


【解决方案1】:

您提出了一个一般性问题。我能做的最好的就是给你一个笼统的答案。对于这样的东西,我喜欢构建一个 REST 框架。 REST 是一种健壮且有弹性的范例,这是您在开发移动应用程序时需要的东西,网络连接可能随时断开。使用 REST,您可以只使用标准 HttpRequests 来查询服务器。响应请求服务器端就像处理 HttpRequests 一样简单。在 Android 上,HttpURLConnection 类非常适合这种东西。如果您想要一个相当复杂但全面的示例,您可以查看 android SDK 中的 SampleSyncAdapter 示例。此外,您可能会发现这个Google IO video 很有趣。这是我的最爱之一。

【讨论】:

  • 感谢您的视频。不幸的是,SampleSyncAdapter 的链接已损坏。我找不到真正的链接。谷歌似乎删除了它(在线)。但好消息是你总能在 SDK 文件夹中找到它:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-14
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
相关资源
最近更新 更多