如何从AsyncTask Android获取字符串

如何从AsyncTask Android获取字符串,android,android-asynctask,android-3.0-honeycomb,Android,Android Asynctask,Android 3.0 Honeycomb,我最近开发了一个姜饼应用程序。现在我想把它送到蜂巢。 现在我的异步任务有问题了。我想将信息(例如字符串)从asynktask类传递到活动,我从开始。 很抱歉,这是我第一次使用asynctasks,所以我还不太了解它。将AsyncTask用作内部类,并在外部类中声明一个调用AsyncTask的字符串。在AsyncTask中,分配在外部类中声明的字符串的值。Rasel建议这是一个解决方案,您也可以简单地使用getter setter方法,而且它的范围是整个项目 public static Strin

我最近开发了一个姜饼应用程序。现在我想把它送到蜂巢。 现在我的异步任务有问题了。我想将信息(例如字符串)从asynktask类传递到活动,我从开始。
很抱歉,这是我第一次使用asynctasks,所以我还不太了解它。

将AsyncTask用作内部类,并在外部类中声明一个调用AsyncTask的字符串。在AsyncTask中,分配在外部类中声明的字符串的值。

Rasel建议这是一个解决方案,您也可以简单地使用getter setter方法,而且它的范围是整个项目

public static String getStr() {
    return str;
}

public static void setStr(String str) {
    GlobalVariable.str = str;
}
像这样使用它

GlobalVariable.setStr("this is test");
为了获得它的价值,只需使用

String s = GlobalVariable.getStr();

将返回上次更新的值。

是,解决方案是将
AsynkTask
作为
活动的内部类
,如果通过将
字符串
传递给
活动
意味着您希望将
文本视图
的文本设置为该
字符串
,则可以在
onPostExecute()中执行此操作
您的
AsynkTask
方法


假设您的
doInBackground()
方法执行一些处理并构造一个
String
,然后返回该
String
,并将其传递给
onPostExecute()
方法,它在
UIThread
上运行,可以修改您的
活动
UI。

方法execute返回AynscTask本身,您需要调用方法AsynkTask.get(),以获取任务的结果(当然,如果结果类型是字符串;):


我认为拉塞尔的提议是不能接受的。因为Asynctask有不同的线程,所以有时候在Asynctask之后打印任何全局变量都可以在Asynctask之前完成。所以它有时会得到空的或不想要的结果。

我应该把这些放在哪里?我想我必须在onPostExecute()方法中完成。。但是没有什么是有效的。我不能把我的异步任务放在同一个班级里。我有活动,可以吗?因为我可以扩展Activity或Asynctask…当我问自己完全相同的问题时,这就是我问题的解决方案。谢谢这个答案应该被认为是正确的答案。请这样做:-)
String output = new YourTask().execute(Params).get();