【问题标题】:Android Client-Server App & Web ServicesAndroid 客户端-服务器应用程序和网络服务
【发布时间】:2015-03-18 09:21:11
【问题描述】:

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

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

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

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

class User {
    int id;
}

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

我应该避免为此使用 TCP 网络吗?你们怎么看。

【问题讨论】:

    标签: java android web-services android-volley


    【解决方案1】:

    在服务器端,创建调用服务器数据库上的 CRUD 操作的 REST Web 服务,并将响应作为 JSONObjectJSONArray 返回给客户端。 Android 内部支持 JSON 解析,您可以使用 Volley 库调用 Web 服务。 Volley 是一个非常抽象的高级 HTTP 库,它使进行 REST Web 服务调用变得非常容易。 TCP 连接是相当低级的,通常不用于客户端-服务器 Android 应用程序。有关更多信息,请参阅 Transmitting Network Data 教程。

    【讨论】:

    • 谢谢,至于图片,我应该让服务器以 URI 格式提供它们,还是只是将图片的链接发送给客户端并让它自己加载?还是有更好的方法来做到这一点?
    • 您可以将 URI 发送到客户端,并使用 NetworkImageView 类(也是 Volley 的一部分)在 Android 中加载图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 2011-02-10
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多