我创建了一个从蓝牙套接字发送和接收数据的应用程序,现在一切正常,但到目前为止它只是一个活动,而且我不确定我应该如何保持套接字“活着” “一旦我在活动之间转换。
我现在正在做的是主要活动的onCreate()
,我正在初始化socket
和thread
,因此通信不会使用户界面冻结。我不确定的是,在转换到新活动之后,我应该如何防止这些被“破坏”或清除,因为它们在主要活动中被实例化,并且应该在关闭之后消失。 / p>
我通常在Java桌面应用程序中执行的操作是在static
块的开头实例化main()
或单个套接字,这样就可以在整个应用程序中访问它。但Android应用程序总是从一些Activity开始。
我该如何解决这个问题?
答案 0 :(得分:1)
虽然Android应用程序从一个Activity开始,但Android中有Application
类,您可以在那里扩展和实现代码。这将在整个应用程序中可访问。请参阅下面的代码段。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// This will be called when the Application is starting
}
}
您可以像在桌面应用中一样实例化static
或单例套接字。
结帐link了解详情。如果这有帮助,请告诉我!