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

时间:2011-10-16 08:16:39

标签: android sockets android-asynctask

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

2 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:10)

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

Android开发者网站上的Services页面(' Basics'部分下的旁注)也提到如果您需要运行需要继续执行的代码,您应该只使用服务而您的应用程序在后台。