我已经根据用户输入制作了一个从互联网上获取网页的应用程序。提取有不同的步骤:使用来自edittext的String作为参数发布,经过一些解析后,它返回一个在AlertDialog中显示的名称数组。当用户选择一个时,它会使用该String作为参数创建另一个帖子 这有效,但现在我想让它成为Threaded(或类似),这样UI就不会没有响应。 我尝试过Threads,Runnables和AsyncTask,但是我找不到一个构造来获取单个Thread中的提取,并且还能够返回该数组并选择一个名称,而无需创建我的HttpClient的新实例。这会抹掉你看到的Cookies ......
我花了大约一个星期来搞清楚这一点,但就是看不到它:(
所以任何人都有了主意?谢谢!
答案 0 :(得分:2)
对于每个HTTP访问,您可以创建一个单独的AsyncTask子类,然后依次实例化它们中的每一个,并执行它们。在网上有很多关于如何使用AsyncTask访问HTTP的例子,例如: here或here(仅限谷歌用this之类的内容)。
要掌握的主要思想是在AsyncTask的doInBackground
方法体内进行所有与网络相关的操作。
正如Ted Hopp所说,你可以让HttpClient实例成为你的Activity的私有成员(或任何类持有两个AsyncTasks),这样第一个AsyncTask就会创建它,第二个一个人可以使用相同的。
答案 1 :(得分:0)
您可以使用两个AsyncTask子类,每个请求一个。为子类提供对存储HttpClient对象的activity类中的变量的访问。