Android API ile Dosya İndirme
Android API’si, cihazınıza dosya indirmenizi sağlayan bir dizi yöntem sunar. Bu yöntemler, dosyayı doğrudan bir URL’den indirmenize veya bir HTTP isteği göndererek indirmenize olanak tanır.
Doğrudan URL’den Dosya İndirme
Dosyayı doğrudan bir URL’den indirmek için java.net.URL
ve java.io.InputStream
sınıflarını kullanabilirsiniz. Örneğin, aşağıdaki kod parçası bir URL’den dosya indirir ve cihazınızın depolama alanına kaydeder:
java
URL url = new URL("http://example.com/file.txt");
InputStream input = url.openStream();
FileOutputStream output = new FileOutputStream("/sdcard/file.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = input.read(buffer)) != -1) {
output.write(buffer, 0, bytesRead);
}
input.close();
output.close();
HTTP İsteği Göndererek Dosya İndirme
Dosyayı bir HTTP isteği göndererek indirmek için java.net.HttpURLConnection
sınıfını kullanabilirsiniz. Örneğin, aşağıdaki kod parçası bir HTTP isteği göndererek bir dosya indirir ve cihazınızın depolama alanına kaydeder:
java
URL url = new URL("http://example.com/file.txt");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
InputStream input = connection.getInputStream();
FileOutputStream output = new FileOutputStream("/sdcard/file.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = input.read(buffer)) != -1) {
output.write(buffer, 0, bytesRead);
}
input.close();
output.close();
İndirme Durumunu İzleme
Dosyanın indirilme durumunu izlemek için java.net.URLConnection
sınıfının getContentLength()
ve getContentType()
yöntemlerini kullanabilirsiniz. Örneğin, aşağıdaki kod parçası dosyanın boyutunu ve türünü alır:
java
URL url = new URL("http://example.com/file.txt");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int contentLength = connection.getContentLength();
String contentType = connection.getContentType();
İndirmeyi İptal Etme
Dosyanın indirilmesini iptal etmek için java.net.URLConnection
sınıfının disconnect()
yöntemini kullanabilirsiniz. Örneğin, aşağıdaki kod parçası dosyanın indirilmesini iptal eder:
java
URL url = new URL("http://example.com/file.txt");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
connection.disconnect();
Faydalı Siteler ve Dosyalar
- Android Developers: Downloading Files
- Android API: java.net.URL
- Android API: java.io.InputStream
- Android API: java.net.HttpURLConnection
- Android API: java.net.URLConnection