你有几个选择。我认为我最喜欢的一个是您只需将这些值传递到您从一个活动发送到下一个活动的 Intent 对象中。因此,浏览 DLNA 媒体服务器目录的活动会在 Intent 中接收所选服务器,如果这来自 DLNA 列表活动,那就太好了,但该意图可能来自任何其他想要将媒体服务器目录显示给用户。努力将功能封装在一个活动中,这样它就不需要依赖应用程序的其余部分来获取数据。
当您确实需要跨应用程序的数据时,请查看 SharedPreferences。这些可以显示给用户,因此他们可以做出在应用程序调用中持续存在的选择,并且应用程序中的任何活动都可以轻松读取首选项并保持最新状态。然而,并不是所有的偏好都需要是可显示的。您始终可以创建首选项编辑器来读取和编写您自己的首选项,而无需向用户显示它们。
其他几个选项是设置保存共享值的单例类,并且每个活动都可以引用,或者作为最后的手段,您可以扩展 Application 类,并创建 getter 和 setter 以使值在您的应用程序中可用。我说最后的手段是因为 Application 是 Android 中的一个重要类,最好不要管它,这样你就不会在现在或将来意外破坏某些东西。
要回答您的另一个问题,您不仅应该使用服务来进行网络访问,而且还需要创建线程。默认情况下,Android 服务不包含后台线程,您需要自己做。您永远不应该从主(又名 UI)线程进行网络调用。