Android - 通过 Web 服务从服务器数据库检索数据(JSON 与 Servlet)

标签 android json rest servlets android-networking

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

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

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

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

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

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

如有任何帮助,我们将不胜感激。

最佳答案

Android 内置支持使用 JSONObjectJSONArray 解析 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 .

关于Android - 通过 Web 服务从服务器数据库检索数据(JSON 与 Servlet),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719714/

相关文章:

android - 网格布局在 API 级别 19 上无法正常工作?

c# - 无法反序列化当前的 JSON 数组(例如 [1,2,3])

c# - Entity Framework Core - 如何正确映射与复合键的关系?

api - PayPal REST API 的 "accept and store credit cards"部分是否需要 Advanced 或 Pro 产品?

c# - GraphQL 为 .net 开发做好准备

java - 如何在 Android Studio 中更改汉堡菜单按钮和选项卡文本的颜色?

android - 如何在触摸时获取 recyclerView 的项目的位置

java - Spring RestTemplate 响应时间慢

java - layout_width/height 如何与最小/最大宽度/高度一起使用

javascript - 将项目推送到 JSON 数组中