我有一个网站,我想为其创建 Java 应用程序,虽然我没有任何创建 Android 应用程序的经验,但我有相当多的 Java 经验,感觉我应该能够完成此任务经过一段时间。我将使用 Java.IO
包进行客户端网络(在应用程序上)并使用 Java 托管服务器。此服务器应用程序
将可以通过 JDBC 访问与网站相同的所有数据库。 (我将把它们全部托管在同一台服务器上。)
我的问题是如何处理 android 平台上的连接,目前我在每次页面刷新时使用数据库盐验证动态生成的盐,以防止 session 被盗。我还确保加密的密码和存储在 session 中的用户名匹配。
理论上,我可以使用 NIO 创建一个标准服务器应用程序,并避免整个每个客户端线程的场景。问题是我的网站有相当多的流量,而且我知道该应用程序也会有。所以我遇到了如何处理它的问题。
如果我使用保持 Activity 的 TCP 连接并将用户基本信息存储在类数据结构中(Psuedo 示例):
class User {
int id;
}
考虑到所有信息都将从数据库中轮询,并且所有信息都与帐户 ID 相关,因此没有理由将任何多余的数据存储到 User 类中,对吗?只需进行与连接相关的快速简单查找,即可获取与您自己相关的数据。
我应该避免为此使用 TCP 网络吗?大家觉得怎么样。
最佳答案
在服务器端,创建在服务器数据库上调用 CRUD 操作的 REST Web 服务,并将响应作为 JSONObject
或 JSONArray
返回给客户端。 Android 内部支持 JSON 解析,您可以使用Volley
库来调用 Web 服务。 Volley
是一个非常抽象的高级 HTTP 库,可以非常轻松地进行 REST Web 服务调用。 TCP 连接是相当低级的,通常不用于客户端-服务器 Android 应用程序。请参阅Transmitting Network Data教程以了解更多相关内容。
关于java - Android 客户端-服务器应用程序和 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29118103/