【问题标题】:android sockets with a connect screen, that opens a new screen if a successful connection occurs带有连接屏幕的 android 套接字,如果连接成功,则会打开一个新屏幕
【发布时间】:2012-03-21 12:21:36
【问题描述】:

我需要设计一个应用程序,它打开一个带有连接按钮的屏幕,当点击连接按钮时,它会启动一个套接字连接,如果连接成功,它会启动一个新屏幕,但是一旦连接出现故障 我需要它返回连接屏幕。我知道我需要在异步任务线程中运行网络操作,我只是不确定要使用什么样的逻辑来启动任务,并且如果异步任务网络线程返回 true 值

【问题讨论】:

    标签: java android sockets android-asynctask


    【解决方案1】:

    AsyncTask 具有在 UI 线程上运行的 onPostExecute 方法。在那里您可以检查套接字连接是否成功,并使用 StartActivity 启动一个活动。

    您可以将 URL 传递给扩展 asynctask 的类构造函数,并使用此 url,您可以启动套接字连接。

    希望有帮助。

    【讨论】:

    • 好的,我还有一个问题要问您,通过连接发送消息并每隔几秒钟接收一次响应的最佳做法是什么?最好使用线程、异步任务还是服务?如果我是正确的 ASYNC 任务只运行一次,直到重新运行。
    • 没错,AsyncTask 只运行一次。您可以在线程或服务中完成整个操作。与线程相比,服务可能成本很高。如果您需要更新 UI,您可以使用线程并使用处理程序与主线程进行通信。
    • 感谢您的建议,我最终使用了一个带有循环的主线程,如果未建立连接,该循环将创建一个套接字,当连接套接字时,将启动另一个循环以创建数据输入和输出缓冲区,并运行一个“在 UI 上运行”线程来更新变量,这个过程一直重复,直到连接终止。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2015-03-11
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多