我第一次在android中使用java.I创建了下载web内容的代码,我使用了Asynctask,但是DownloadTask类不返回结果,我不知道问题出在哪里。它在Logcat中显示了以下消息
D/NetworkSecurityConfig:未指定网络安全Config,使用平台默认I/合子:等待阻塞GC ProfileSaver I/合子: WaitForGcToComplete阻塞了HeapTrim上的ProfileSaver 11.085ms
Main_activity
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();
}
}
发布于 2020-12-23 06:00:40
虽然这是一个重复的问题,但我将回答这个问题。我也面临着这个问题(不再是一个问题了)。现在是android工作室逐字符处理响应的等待时间。
我建议你使用BufferedReader来加快阅读速度。
https://stackoverflow.com/questions/64324741
复制相似问题