0

我正在开发一个简单的多人 Android 游戏,它使用 Java 套接字与其游戏服务器进行通信。为了创建非冻结 UI,我决定Service在 Android 应用程序中创建类以通过Socket连接与服务器进行通信。数据交换以 JSON 格式完成。

现在的问题是,在整个游戏过程中,单个 Socket 连接将持续存在,并且将在服务器之间进行数据交换,但基于运行在 Android 中的游戏客户端上发生的事件。

例如; 当用户点击一个按钮时,一些数据被发送到服务器,服务器返回一些数据,在此之前,客户端将等待,当数据到达时,活动上的 UI 将被更新,客户端将再次执行一些操作,然后再次数据将发送到服务器,依此类推。

当客户端等待来自服务器的数据时,我将禁用 Activity 上的控件,以便用户在数据从服务器到达之前不会执行任何操作,并且我还将在 Activity 上显示等待对话框以让用户知道该应用程序没有冻结,正在等待。

现在,由于 Android 服务主要与onCreate(),onStart()onDestroy()方法一起使用,我相信它会在后台执行某些操作而无需任何用户干预。因此,如果我的应用程序需要用户的一些输入(或等到用户提供它)将其发送到服务器,Service在这种情况下我将如何使用类?此外,除了在这种情况下使用服务之外,我还有其他选择吗?

另外,请注意,我的应用程序中有两个活动,它们将使用单个 Socket 连接与服务器进行通信。

4

0 回答 0