Android 异步任务或接口

Android 异步任务或接口,android,multithreading,android-asynctask,thread-safety,Android,Multithreading,Android Asynctask,Thread Safety,我正在寻找AsyncTask的替代方案,以便可以使用它(我已经从Activity扩展了类),我正在尝试的是ping到google。因为我不能在主线程中完成,也不能从另一个类扩展。那么我有什么选择呢? 我在谷歌上搜索并找到了一个服务类,但是这里的页面是()的!说它不是一个线程,也不是用来避免“不响应”(正如我前面提到的,我正在尝试访问互联网) 我正在使用android JellyBeans您需要的是一个匿名类,基本上是另一个类中的一个类。更具体地说,在活动中需要一个匿名子类AsyncTask。另一

我正在寻找AsyncTask的替代方案,以便可以使用它(我已经从Activity扩展了类),我正在尝试的是ping到google。因为我不能在主线程中完成,也不能从另一个类扩展。那么我有什么选择呢? 我在谷歌上搜索并找到了一个服务类,但是这里的页面是()的!说它不是一个线程,也不是用来避免“不响应”(正如我前面提到的,我正在尝试访问互联网)
我正在使用android JellyBeans

您需要的是一个匿名类,基本上是另一个类中的一个类。更具体地说,在
活动
中需要一个匿名子类
AsyncTask
。另一种方法是创建
AsyncTask
的子类,并将所需的变量作为参数传递


应该不需要创建两个类的类子类。重新思考你的概念。

参考这篇文章,这里有关于异步任务替代方案的解释


您可以启动一个服务,然后在该服务中启动一个单独的线程。但是,如何启动呢?这不是很容易出错吗?与其创建
服务
并在其上启动
线程
,您可以使用
IntentService
,它会自动执行。对于这个简单的任务,不需要服务。请参阅服务[在此处输入链接说明][1][1]:在
活动中
AsyncTask
的问题是,他将绑定到
活动
生命周期。使用
setRetainInstance(true)
AsyncTask
放在
片段中可能是避免生命周期冲突的一种不错的方法。是的,但是简单的ping不需要更多。您是对的,但是如果单个ping需要很长时间,并且
activity
由于某种原因被破坏,该怎么办(即,他旋转了设备,但没有覆盖)。他必须相应地手动取消任务。完全正确。另一种方法是在与用户不再相关的点上获得结果。我不认为概念上有任何错误,但我正在尝试让类启动布局。启动layout.xml时,是否不必从活动扩展?如果没有那么,我不会扩展,但我认为它是……那么,我该如何重新考虑我的概念呢?(不是嘲弄,而是简单地提问)