【问题标题】:Allowing AsyncTask to Manipulate Values in Different Activity Classes允许 AsyncTask 操作不同 Activity 类中的值
【发布时间】:2011-02-12 07:22:46
【问题描述】:

这个标题可能看起来很奇怪,所以让我试着解释一下我想要做什么。我有几个活动类,每个活动类代表我的应用程序中的不同视图。我的初始活动类在应用程序启动时被加载。用户输入值并最终打开一个 TCP 套接字,然后我使用AsyncTask 来侦听和响应来自服务器的消息。我希望这个 AsyncTask 类能够在应用程序关闭/达到错误条件之前进行监听,并且能够在其他活动类启动后更新它们的值。这有意义吗(这是一个漫长而令人沮丧的夜晚)?我知道静态活动类引用是不好的做法,从其他活动中接触 UI 线程也是不好的,但是我很难找到一个干净的解决方案来解决这个问题。也许在这里使用AsyncTask 不是最好的方法?我应该改用服务还是完全使用其他东西?

提前致谢。

【问题讨论】:

    标签: android android-activity android-asynctask


    【解决方案1】:

    用户输入值,最终打开一个 TCP 套接字,然后我使用 AsyncTask 监听和响应来自服务器的消息。

    AsyncTask 专为短期操作(例如,闪存读取、闪存写入、Web 服务调用)而设计。使用您自己的后台线程进行无限长的操作。

    我希望这个 AsyncTask 类能够在应用程序关闭/达到错误条件之前进行监听

    Android 中没有“应用关闭”这样的概念,就像 Web 上没有“应用关闭”的概念一样。

    并且能够在其他活动类启动后更新它们的值。

    这听起来像是一项服务的工作,而不仅仅是一些随机线程或AsyncTask。对于初学者,一旦启动后台线程或AsyncTask 的原始活动被破坏,您就必须摆脱后台线程或AsyncTask

    我应该改用服务还是完全使用其他东西?

    我强烈建议您研究一下服务。

    【讨论】:

    • 谢谢,那我去看看服务。
    猜你喜欢
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2021-02-10
    相关资源
    最近更新 更多