我在android中工作。使用AsyncTask进行多个操作
我有一个的parseURL类在我MainActivity.java延伸的AsyncTask:
类解析一个URL,然后做一些工作吧。
private class ParseURL extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
StringBuffer buffer = new StringBuffer();
Document doc;
try {
Log.i("output", "trying to connect..");
doc = Jsoup.connect("http://sirim.co.il/").get();
Log.i("output", "connected");
Elements metaElems = doc.select("a[class=mainlevelmatkonim]");
for (Element metaElem : metaElems) {
String c = metaElem.text();
buffer.append(c + "\r\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return buffer.toString();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
httpInfo.setText(s);
}
}
我的问题是 - 如果我想再次使用的AsyncTask解析另一页 - 但与解析的页面不同的动作 -
我应该使用相同的类或创建一个新的?
什么是正确的方法?有一个“if”语句或类似的东西来检查如何处理解析的页面?或者有几个AsyncTask类可以完成不同的工作?
thnaks提前, 奥菲克
那要看情况。什么是不同行为的例子?如果你可以简单地传递不同的'params',那么就使用同一个类。 – codeMagic 2014-10-17 12:58:21
[看看](http://nobalg.tumblr.com/post/98543748225/android-asynctasks-one-after-the-other) – nobalG 2014-10-17 13:02:03
@codeMagic thnaks为您的答案。可以说第一份工作是用来自URL的一些数据填充列表。第二项工作是查看列表并根据用户的组合框选择从不同的URL中提取一些数据。 (两个不同的工作)。你认为可以有两个AsyncTask类吗?或者有一个可以根据某个参数执行两个任务 – 2014-10-17 13:22:51