我只是在学习AsyncTask,并希望将其用作单独的类,而不是子类。
例如,
class inetloader extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(urls[0]);
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(
new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null) {
response += s;
}
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
@Override
protected void onPostExecute(String result) {
Log.e("xx",result);
// how do I pass this result back to the thread, that created me?
}
}
和main(ui)线程:
inetloader il = new inetloader();
il.execute("http://www.google.com");
//il.onResult()
//{
///do something...
//}
谢谢!
使用界面。就像是:
interface CallBackListener{
public void callback();
}
然后在您的UI线程中执行此操作:
inetloader il = new inetloader();
li.setListener(this);
il.execute("http://www.google.com");
在inetloader中,添加:
CallBackListener mListener;
public void setListener(CallBackListener listener){
mListener = listener;
}
然后在postExecute()中,执行以下操作:
mListener.callback();
问题内容: 我一直在尝试各种示例,以使自己熟悉AsyncTask。到目前为止,我所看到的所有示例都将AsyncTask包含在主要活动的onCreate方法中。我不太喜欢,所以我想看看将其分成自己的班级会有多困难。到目前为止,我有这个: 的 主要活动 新的单独的 AsyncTask类 最初,这些都在主要活动中,因此提到了asynctask在理论上应该更新的要素。显然,目前这会导致运行时错误,这让我开
问题内容: 我有几个在单个WebLogic集群中运行的J2EE应用程序实例。 在某些时候,这些应用程序会进行合并以将记录插入或更新到后端Oracle数据库中。MERGE检查是否存在具有指定主键的行。如果在那里,请更新。如果没有,请插入。 现在,假设有两个应用程序实例要插入或更新主键= 100的行。假设该行不存在。在合并的“检查”阶段,他们都看到行不在此处,因此他们都试图插入。然后,我得到了唯一的键
我可以添加多个AsyncTask并同时执行吗?我可以从主activity开始执行多个Asynctask,如下所示。 公共类接收器扩展广播接收器{ } 在这段代码中,我得到了所有的日志,但在此之后,它将不会在AsyncTask的doInBackground()方法中运行。我在每个类方法doInBackground()中设置了Log,但没有一个在Log中被命中(意味着没有一个方法被执行)。 我的问题是
问题内容: 在运行该行之后,在指令指针返回到调用函数之前,是否可以看到方法的返回值? 我正在调试无法修改的代码 (阅读:不想重新编译第三方库) ,有时它会跳转到我没有源代码的代码,或者return表达式具有使我无法继续工作的副作用只需在“ 显示” 标签中运行表达式即可。 通常在复合语句中使用返回值,因此 Variables 视图将永远不会向我显示该值(因此希望在控件返回到调用函数之前先查看结果)。
问题内容: 我正在尝试修改cloudinary的开源库,以便可以收听照片上传的进度。该库类包含一个MultipartUtility Java类,我对该类进行了修改以侦听上传进度。 修改前的原始代码可以在github上找到:https : //github.com/cloudinary/cloudinary_java/blob/master/cloudinary- android/src/main/
问题内容: 是否可以发送jQuery.ajax调用或等效调用而没有任何形式的响应?当我使用onbeforeunload命令离开页面时,我想在服务器上触发一些操作,但这不是我需要反馈给客户端的操作,因此我只想发送该命令而不等待响应。 那可能吗? 问题答案: 每个请求都有一个响应。 即使服务器抛出错误,响应也会返回错误。 如果您只想不添加回调,则可以忽略响应。