【问题标题】:Developing an Android Client Server app开发 Android 客户端服务器应用程序
【发布时间】:2013-02-12 03:25:14
【问题描述】:

我正在开发一个应用程序如下: Android APP(作为客户端)..它将数据发送到服务器(在 PC 上运行的 Java 应用程序)。 我使用套接字编程实现了这个并且它正在工作。我有以下问题:

  1. 当我单击应用程序上的发送按钮时,应用程序 UI 会冻结约 7 秒。它能够 ping 并连接到服务器,但在此期间 UI 冻结,如果我单击应用程序上的任何其他按钮,我会收到一条消息应用程序被卡住(但应用程序在 7 秒后恢复正常)。解决它的最佳方法是什么。

  2. 一旦在 PC 上接收到数据(字符串),我想以列表框 UI 的形式显示它,以便用户可以选择/双击特定字符串并打开一个消息框,显示特定的字符串被选中。开发此 UI 的最佳方法是什么,以及如何在服务器从客户端(Android 应用程序)接收到数据并且此 UI 应该显示后直接调用它。

请告诉我。感谢所有帮助。

【问题讨论】:

  • For 1: 使用AsyncTask 这样你就不会冻结 UI 也不会得到NetworkOnMainthreadExceptions 另外,这个问题在这里不太适合,我们希望问题是得到某种试验的支持(因此流行的问题“你试过什么?”)。
  • 如果后台进程长时间运行,不建议使用 AsyncTask。它可以简单地在单独的线程或服务中实现(这对我开发类似的应用程序很有用)。
  • 关于你的第二个问题,你想在客户端即安卓端这样做吗?如果你想在客户端做类似的事情,那么你可以让服务器应用程序在收到一些数据后向客户端发送通知。
  • 感谢您的回复。我尝试在 Activity 中使用它,还使用套接字程序进行客户端服务器连接。对于第二个问题,我希望它在服务器端实现它。请指教..thnx.

标签: android client-server


【解决方案1】:

将所有与网络相关的代码放入单独的线程中,或者(更简单)和AsyncTask。否则,您会阻止 UI,正如您所注意到的,该应用实际上会在较新的 Android 版本(ICS 和 JB)上崩溃。

如果你搜索 SO 和互联网,你会发现很多例子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多