Android 客户端-服务器应用和网络服务

Android Client-Server App & Web Services

我有一个网站,我想为其创建一个 Java 应用程序,虽然我没有任何创建 android 应用程序的经验,但我有相当数量的 Java 体验并感觉我应该能够在一段时间内完成这项任务。我将使用 Java.IO 包进行客户端网络(在应用程序上)并使用 Java 托管服务器。此 server application 将可以通过 JDBC 访问与该网站相同的所有数据库。 (我会将它们全部托管在同一台服务器上。)

我的问题是如何处理 android 平台上的连接,目前我在每次刷新页面时使用数据库盐验证动态生成的盐,以防止会话被盗。我还确保会话中存储的加密密码和用户名匹配。

理论上我可以创建一个标准的服务器应用程序,使用 NIO 并避免每个客户端的整个线程场景。问题是我的网站有相当多的流量,而且我知道应用程序也会有。所以我 运行 遇到了如何处理它的问题。

如果我使用 keep-alive TCP 连接并将用户基本信息存储在 class 数据结构中(伪示例):

class User {
    int id;
}

考虑到所有信息都将从数据库中轮询,并且所有信息都与帐户 ID 相关,没有理由将任何多余的数据存储到用户 class 中,对吗?只需快速简单地查找与连接相关的数据,就可以只获取与您自己相关的数据。

我应该为此避免使用 TCP 网络吗?大家觉得呢。

在服务器端,创建在服务器数据库上调用 CRUD 操作的 REST Web 服务,以及 return 对客户端的响应 JSONObjectJSONArray。 Android 内部支持 JSON 解析,您可以使用 Volley library to call the web services. Volley is a pretty abstract, high-level HTTP library that makes it very easy to make REST web service calls. TCP connections are quite low-level and are not generally used in client-server Android apps. See the Transmitting Network Data 教程了解更多信息。