我做了一个应用程序,它从不同的网址获取数据.我使用for循环使用jsoup lib从不同的URL获取数据.现在,这需要很多时间,例如5秒.
首先从url1中获取数据,然后从2中获取数据,然后从3中获取数据.
这就是我想的时间.
所以我想知道我们是否可以同时(多个线程)从不同的URL获取数据?
public class Title extends AsyncTask <String,Void,Void> {
String url,ver;
Bitmap mIcon11 = null;
ArrayList<App> appsList = new ArrayList<>();
@Override
protected Void doInBackground(String ... strings) {
try {
for (String string : strings) {
Document document = Jsoup.connect(string).get();
Elements a = document.select("div.AppCont");
Elements b = a.select("article");
Elements c = b.select("div.ImgDiv");
Elements d = c.select("img");
url = d.attr("src");
InputStream in = new URL(url).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
ver = b.get(0).text();
String z = string.replace("https://a2zapk.com/History/","");
z = z.replace("/","");
PackageInfo pi = getApplicationContext().getPackageManager().getPackageInfo((z),PackageManager.GET_Meta_DATA);
String versionName = pi.versionName;
ver = ver + " (Installed Version: " +versionName + ")";
appsList.add(new App(ver,mIcon11));
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
add(appsList);
}