.disconnect() 메서드를 사용하여 HTTPURLConnection을 연결 해제하는 방법을 알고 있습니다. 하지만 URLConnection 객체는 어떻습니까? Myy 앱은 URLConnection.getInputStream을 통해 서버에서 직접 링크가있는 파일을 다운로드합니다. 다운로드 진행률에는 중지 단추가 있습니다. 사용자가 멈추었을 때 다운로드를 중단하고 싶습니다. 대답 해줘서 고마워. 당신이 URLConnection.getInputStream()를 사용하는 경우안드로이드 URLConnection 연결을 끊는 방법
0
A
답변
1
, 다음과 같이 보일 수 있습니다 귀하의 다운로드 코드는 다음과 같습니다 : 그래서
InputStream fileInputStream; // initialized
// ...
byte[] buffer = new byte[1024 * 32];
int len;
int totalLen = 0;
while ((len = fileInputStream.read(buffer)) != -1) {
fstream.write(buffer, 0, len);
totalLen += len;
}
,이 루프를 중단해야이 다운로드 한 번에 몇 가지 조건이 하나의 방법에 해당된다 중지 다운로드가 작업자 스레드에있는 동안 대부분은 UI 스레드에서 설정하기 때문에, AtomicBoolean를 사용하는 :
는// in your download class
AtomicBoolean abort = new AtomicBoolean(false);
// Updated loop
while ((len = fileInputStream.read(buffer)) != -1) {
if (abort.get()) {
// do any necessary cleanup like closing streams
break;
}
fstream.write(buffer, 0, len);
totalLen += len;
}
다음 버튼을 클릭 핸들러에 추가 : abort.set(true);
+0
boolean에 대해 비교 및 스왑 연산을 수행해야하는 경우 (필요 없음) '휘발성 부울'만으로 충분합니다. – desseim
+0
감사합니다. 전에 atomicboolean을 사용하지 않았습니다. 매우 유용합니다. 이전에 부울과 동일한 작업을 시도했으나 작동하지 않았습니다. – themaster33
관련 문제
- 1. localhost에서 연결을 끊는 방법?
- 2. MySQL 연결을 끊는 방법
- 3. erl_call 연결을 끊는 방법
- 4. 코드로 인터넷 연결을 끊는 방법?
- 5. HttpClient 연결을 끊는 중
- 6. Boost :: asio 소켓 - 연결을 끊는 방법?
- 7. 데이터베이스에 기존 루비 sequel 연결을 끊는 방법?
- 8. Autobahn Android : 서버와의 연결을 끊는 방법
- 9. 프로그래밍 방식으로 USB를 연결하고 연결을 끊는 방법
- 10. Windows 리모트 디렉토리 연결을 끊는 방법?
- 11. WEC7의 연결 관리자와의 연결을 끊는 방법
- 12. C#을 사용하여 인터넷 연결을 끊는 방법?
- 13. Android :: Wi-Fi 네트워크 연결을 끊는 방법?
- 14. "CLOSE_WAIT"및 "FIN_WAIT2"네트워크 연결을 끊는 방법
- 15. 모든 데이터베이스 연결 문자열에서 연결을 끊는 방법
- 16. 생성 된 개체 간의 연결을 끊는 방법
- 17. 블루투스 연결을 끊는 방법 (HTC Desire)
- 18. Netty에서 혼잡 한 연결을 끊는 방법 4
- 19. NIO 서버 소켓에서 클라이언트 연결을 끊는 방법
- 20. directshow를 사용하여 웹캠의 연결을 끊는 방법?
- 21. iphone SDK의 범프 API에서 연결을 끊는 방법
- 22. socket.emit가 완료되면 소켓 연결을 끊는 방법
- 23. SocketException - Smack에서 네트워크 연결을 끊는 중 4.1.7
- 24. 안드로이드 : 서버로의 연결을 확인
- 25. HBase를 끊는 방법
- 26. iOS에서 인터넷 연결을 끊는 이벤트가 있습니까?
- 27. 브라우저로드를 중지하거나 호스트와의 연결을 끊는 방법은 무엇입니까?
- 28. 전화 접속 TAP 연결을 끊는 AT 명령
- 29. gtk.builder에서 신호 연결을 끊는 방법은 무엇입니까?
- 30. iCloud에서 앱의 연결을 완전히 끊는 방법이 있습니까?
다운로드를 중지하려면 스트림을 읽는 방법에 따라 다릅니다. 코드의 관련 부분을 붙여 넣어야합니다. – desseim