在android上的活动之间保持套接字连接

Leo*_*ena 8 sockets android android-asynctask

我在android 3.1上开发一个应用程序,我有一个Activity A,它有一个从aSyncTask扩展的子类,这个子类创建一个套接字并连接到服务器.我所有的沟通都很好.我收到消息并将命令发送到服务器,但是当我得到一个特定的命令时,我必须开始第二个活动(活动B),但我不能丢失我的套接字并与服务器建立通信,而且我必须仍然能够接收活动B并向服务器发送命令.我怎样才能做到这一点??请帮忙!

yor*_*rkw 14

我的方法是实现一个服务并将所有网络连接代码移动/集中到服务中,对于想要使用套接字连接的所有活动,在onCreate()中绑定网络服务然后在onDestory()中完成解绑后


Coa*_*ose 10

根据Dianne Hackborn(Android工程师)的说法,在活动之间传递网络连接的推荐做法是创建一个单一的,任何活动都可以从那里访问和管理连接.请看这里并查看Dianne的第一篇文章.

Android开发者网站上的" 服务"页面("基础"部分下的旁注)也提到,如果您需要运行需要在应用程序处于后台时继续执行的代码,则应该只使用服务.