【发布时间】:2012-09-06 06:25:33
【问题描述】:
我有一个扩展 AsyncTask 以发送以太网消息的类。在我的 MainActivity 中创建和调用时,它可以正常工作:
new SendCommandTask(MainActivity.this).execute(ipAddress, portNum, message);
但是,我想将其嵌入到新类的方法中...
public class NewClass{
String ipAddress;
String portNum;
String command;
public NewClass(String ip, String pn, String, c){
ipAddress = ip;
portNum = pn;
command = c;
}
public send(){
SendCommandTask(MainActivity.this).execute(ipAddress, portNum, command);
}
}
...并直接从我的 MainActivity 调用该方法:
NewClass newClass = new NewClass;
NewClass.send();
我尝试将活动作为构造函数中的另一个参数传递,但是当我这样做时方法会呕吐。有没有另一种方法来引用我的 NewClass 中的调用活动?还是我卡在 MainActivity 中运行 AsyncTask? (我希望这是有道理的,总的来说,我对 Java 和 OO 编程非常陌生。)非常感谢任何帮助!
【问题讨论】:
-
我同意 Sparky 的观点,您应该为此考虑 IntentService。否则,请在您说“但方法呕吐”时发布您所指的错误。
-
另外,这里有更多关于活动和异步任务如何交互的信息:stackoverflow.com/questions/12117031/…
标签: android