【发布时间】:2016-12-20 07:47:41
【问题描述】:
我是 Java/Android 新手,我来自 c#。我一直在研究它并进行测试,我发现当我执行 AsyncTask 时,主线程会继续执行,而外部任务正在执行它的工作。我什至发现我只能设置从 MainActivity 执行外部任务的异步任务。
我的问题是我想执行一个外部类,它在完成后将结果(就像 c#)带回主任务,而不在 MainActivity 中设置异步类。
所以.. 在代码中应该是这样的:
MainActivity.java
public onClickButton(View view) {
String result = SecondaryClass.DoAsyncTask();
}
SecondaryClass.java
private class DoAsyncTask extends AsyncTask<Long, Integer, Integer>
{
@Override
protected Integer doInBackground(Long... params) {
String longString = ThirdAPIClass.GiveMeSomeCode(); //Or work here
return lognString;
}
@Override
protected void onPostExecute(String result) {
return result; //Somehow(?)
}
}
知道 Java/Android 中是否有类似的东西(?)
PD:我以 AsyncTask 为例,我不知道是否还有其他指令可以做同样的事情或类似的事情。
【问题讨论】:
-
你可以有
public static String result;,在onPostExecute修改它:MainActivity.result = result;,虽然在一个大的应用程序中,但不确定是否安全。
标签: java c# android android-asynctask return