在使用Asynctask android java下载Web内容时出现问题



我第一次在android studio中使用java。我创建了用于下载web内容的代码,并使用了Asynctask,但DownloadTask类不返回结果。我不知道问题出在哪里。它在Logcat 中显示了以下消息

D/NetworkSecurityConfig:未指定网络安全配置,使用平台默认

I/合子:等待阻止GC ProfileSaver

I/zyge:WaitForGcToComplete HeapTrim上的阻塞ProfileSaver,用于11.085ms

主活动

public class DownloadTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String dataResult = "";
URL url;
HttpsURLConnection urlConnection = null;
try {
url = new URL(urls[0]);
urlConnection = (HttpsURLConnection) url.openConnection();
InputStream in = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
int data = reader.read();
while (data != -1) {
char current = (char) data;
dataResult += current;
data = reader.read();
}
return dataResult;
} catch (Exception e) {
e.printStackTrace();
return "failed";
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DownloadTask tasks = new DownloadTask();
String result = null;
try {
result = tasks.execute("https://www.imdb.com/list/ls052283250/").get();
Log.i("downloaded The URL",result);
} catch (Exception e) {
e.printStackTrace();
}
}

虽然这是一个重复的问题,但我会回答这个问题。我也面临这个问题(不再是一个问题(。这是安卓工作室逐个处理响应的等待时间。

我建议您使用BufferedReader以获得更快的阅读速度。

最新更新