【问题标题】:Android - Retrieve data from server database through web service (JSON v/s Servlet)Android - 通过 Web 服务从服务器数据库中检索数据(JSON v/s Servlet)
【发布时间】:2015-06-25 12:22:29
【问题描述】:

我需要通过 Android 应用中的网络服务从数据库中检索大量数据。我有两种不同的方法可以做到这一点,我想要一些建议:

1. 第一个选项是在服务器端创建一个.php 文件,用于管理来自客户端(Android 应用)的任何POST。然后服务器将创建一个JSON 响应。最后,我们将在 Android 中使用 JSON 解析器解析此响应。这也称为REST 方案。

2. 第二个选项是创建一个SERVLET,从客户端(Android)执行它,让 servlet 为我们将请求发送到数据库,最后从安卓。显然,servlet 会被编写成可以轻松地与数据库交互。

注意点(以便决定哪个选项更好):

1. 我不会从客户端将任何内容存储在数据库中。也就是说,我的 Android 应用是只读的。

2. 我将从一个巨大的数据库中读取数据,因此这里优先考虑客户端-服务器交互的性能,特别提到数据解析和 servlet vs php 性能.

任何帮助将不胜感激。

【问题讨论】:

    标签: android json rest servlets android-networking


    【解决方案1】:

    Android 内置支持使用 JSONObjects 和 JSONArrays 解析 JSON 数据,因此处理该格式的数据要比处理 servlet 容易得多。甚至可以直接以JSONObjectJSONArray 接收Web 服务响应。

    一般来说,Android 中的 Web 服务应该是 RESTful 类型的。这就是谷歌似乎更喜欢它的方式。这就是为什么内置支持 JSON,但不支持 SOA 或 Servlet。

    参考资料:

    1. Reasons for not directly write Servlets for creating a REST API.

    2. Servlet vs REST.

    【讨论】:

    • 这是使用 JSON 的唯一好处吗?我的意思是,很明显,Android 会比其他任何方式更好地解析 JSON 响应,但是性能和可用性呢?让我们谈谈 WhatsApp(或 Line,或 Telegram):你认为那些人使用 servlet 还是 php/json 代码?
    • 一般来说,Android 中的 Web 服务应该是 RESTful 类型的。这就是谷歌似乎更喜欢它的方式。这就是为什么有对 JSON 的内置支持,而不是对 SOA 或 Servlet 的支持。请参阅编辑后的答案。
    • 好的,但是如果我们在将响应发送到客户端之前将响应从 servlet 中转换为 JSON 会怎样?
    • 这是一个选项。您可以做任何事情来简化您的工作,同时为客户端和服务器提供稳定的性能。您需要为您和您的项目定义平衡。查看添加的链接:)
    • 无法投票,因为需要 15 声望,但我选择了您的答案作为已接受的答案。为 Android 开发的大公司在这个特定主题上的表现如何?他们使用 REST 还是 Servlet?根据您的回答,我猜他们遵循 REST 方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    相关资源
    最近更新 更多