公共(public)类 MainActivity 扩展 AppCompatActivity{
对于下载html页面,这甚至没有返回失败
public class DownloadTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... urls){
String result = "";
URL url;
HttpURLConnection urlConnection = null;
try{
url = new URL(urls[0]);
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
int data = reader.read();
while(data!=-1){
char current = (char) data;
result+=current;
}
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "failed";
}
}
当我在 OnCreate 中执行它时,我在 Logcat 中什么也没有得到(这里我打印了存储 html 页面的变量。)
最佳答案
如您的类(class)中所示,您没有传递任何参数(url)来处理。
您需要在类中创建一个参数化构造函数来传递数据。 就像下面这样,
public class DownloadTask extends AsyncTask<String,Void,String>{
private String url1;
public DownloadTask(String url1){
this.url1=url1;
}
//rest of your code
try{
url = new URL(url1);
}catch(Exception e){}
//rest of your code
}
希望这有帮助。
关于java - 为什么我无法下载任何网站的任何 html 页面?(我正在使用 android studio),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60014794/