-2
(AsyncTask를 사용하여) URL에서 InputStream 요소로 파일을 가져 와서 사용하려고 시도했지만 실패했습니다. AsyncTask에 대한 매개 변수가 올바 릅니까? 내 코드 에서처럼 InputStream을 검사 할 수 있습니까? 아니면 잘못 되었습니까? 항상 null을 반환합니까? 다른 변경 사항이 있습니까?URL에서 AsyncTask의 InputStream
내 코드 :
String url = "https://www.example.com/file.txt";
InputStream stream = null;
public void load() {
DownloadTask downloadTask = new DownloadTask();
downloadTask.execute(url);
if (stream == null) {
//fail, stream == null
} else {
//success
}
}
class DownloadTask extends AsyncTask <String, Integer, InputStream> {
@Override
protected void onPreExecute() {
}
@Override
protected InputStream doInBackground(String... params){
try {
URL url = new URL(url);
stream = url.openStream();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return stream;
}
@Override
protected void onPostExecute(InputStream result) {
super.onPostExecute(result);
}
}
EDIT2 : 나는 그것을 해결했습니다.
내가 (내 질문을 편집) 내 문제를 해결 : 여기
는 예 (의사 코드)입니다. onPostExecute() 메서드 내에서 UI를 업데이트해야하는 팁을 가져 주셔서 감사합니다! 의사 코드는 내 작업 (asynctask에서 inputstream 가져 오기) 때문에 preExecute, progressUpdate, getFromStream()이 필요하지 않기 때문에 나처럼 초보자에게 다소 혼란 스럽다.이 모든 것들은 작업과 관련이 없다. – user3671635