Android - Dosya İndirmek ve Kaydetmek

Başlatan uçbirim2002, 09 Mayıs 2017 - 17:50:26

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

uçbirim2002

Java ile bir URL den dosya indirip SD karta nasıl kayıt edebilirim?
Hello!

MRWhite

#1
https://commons.apache.org/proper/commons-io/ kullanıyorsan:
FileUtils.copyURLToFile(URL, File)

Android sdk'e kütüphane eklemeden yapmak istersen:
public void saveUrl(final String filename, final String urlString)
        throws MalformedURLException, IOException {
    BufferedInputStream in = null;
    FileOutputStream fout = null;
    try {
        in = new BufferedInputStream(new URL(urlString).openStream());
        fout = new FileOutputStream(filename);

        final byte data[] = new byte[1024];
        int count;
        while ((count = in.read(data, 0, 1024)) != -1) {
            fout.write(data, 0, count);
        }
    } finally {
        if (in != null) {
            in.close();
        }
        if (fout != null) {
            fout.close();
        }
    }
}


Çağrılışı
saveUrl("dosya_adi","http://www.foo.com/dosya);

Sd card lokasyonu için cihazdan cihaza değiştiğini gördüm ama aşağıdaki işini görecektir.
String strSDCardPath = System.getenv("SECONDARY_STORAGE");

    if ((strSDCardPath == null) || (strSDCardPath.length() == 0)) {
        strSDCardPath = System.getenv("EXTERNAL_SDCARD_STORAGE");
    }

    if(strSDCardPath != null) {
        if (strSDCardPath.contains(":")) {
            strSDCardPath = strSDCardPath.substring(0, strSDCardPath.indexOf(":"));
        }
        File externalFilePath = new File(strSDCardPath);

        if (externalFilePath.exists() && externalFilePath.canWrite()){
            //Cihazda sd kart ve yazma izni var
        }
    }