Android:仅在应用程序生命周期内初始化套接字一次

时间:2015-11-21 20:40:06

标签: java android sockets bluetooth

我创建了一个从蓝牙套接字发送和接收数据的应用程序,现在一切正常,但到目前为止它只是一个活动,而且我不确定我应该如何保持套接字“活着” “一旦我在活动之间转换。

我现在正在做的是主要活动的onCreate(),我正在初始化socketthread,因此通信不会使用户界面冻结。我不确定的是,在转换到新活动之后,我应该如何防止这些被“破坏”或清除,因为它们在主要活动中被实例化,并且应该在关闭之后消失。 / p>

我通常在Java桌面应用程序中执行的操作是在static块的开头实例化main()或单个套接字,这样就可以在整个应用程序中访问它。但Android应用程序总是从一些Activity开始。

我该如何解决这个问题?

1 个答案:

答案 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了解详情。如果这有帮助,请告诉我!