イーサネットメッセージを送信するために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プログラミングに非常に慣れていません。)どんな助けでも大歓迎です!