Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 何时绑定服务_Android_Android Activity_Android Service_Android Service Binding - Fatal编程技术网

Android 何时绑定服务

Android 何时绑定服务,android,android-activity,android-service,android-service-binding,Android,Android Activity,Android Service,Android Service Binding,我正在开发一个应用程序,它的主要活动有5个选项卡。换句话说,该主活动包含一个framelayout,可以用5个不同的片段替换。此外,应用程序可以从该主活动导航到其他活动,但用户必须返回到该主活动才能继续在应用程序中导航。另一方面,我有一个已启动的服务,它在应用程序的onCreate方法上启动,该服务从我们的API获取一些数据,其中一些数据用于下一个片段/活动:-5个片段中有2个可能在主活动中被替换。-可能从该主要活动开始的其他一些活动 所以我想知道绑定到该服务(获取数据)的最佳方法。我考虑了3种

我正在开发一个应用程序,它的主要活动有5个选项卡。换句话说,该主活动包含一个framelayout,可以用5个不同的片段替换。此外,应用程序可以从该主活动导航到其他活动,但用户必须返回到该主活动才能继续在应用程序中导航。另一方面,我有一个已启动的服务,它在应用程序的onCreate方法上启动,该服务从我们的API获取一些数据,其中一些数据用于下一个片段/活动:-5个片段中有2个可能在主活动中被替换。-可能从该主要活动开始的其他一些活动

所以我想知道绑定到该服务(获取数据)的最佳方法。我考虑了3种选择:

1) 每个需要服务数据的片段/活动都通过自己的onStart方法绑定到它,并在其onStop上解除服务的绑定。因此,每个片段/活动将完全独立于其他片段/活动

2) 需要来自服务和主活动(而不是片段)的数据的活动绑定到服务。因此,在通过选项卡导航时,服务不会被绑定/解除绑定,但即使用户处于不需要的片段中,服务也会被绑定

3) 在应用程序的onCreate方法上创建一个绑定到服务的单例,以便需要来自服务的一些数据的片段/活动将使用该单例,而不是绑定/取消绑定到服务

我目前已经开发了第一个选项,但我一直在思考哪个选项是最好的。你怎么认为?你能帮我一把吗


提前谢谢

在这些情况下,我使用应用程序范围的单例。片段/活动可以随时访问服务,而无需担心停止和启动任何操作。我有一个例子