Вопрос по коду о скачивании файлов из сети

Закрыто
laandrew
Сообщения: 53
Зарегистрирован: 02 апр 2012, 09:40

Вопрос по коду о скачивании файлов из сети

Сообщение laandrew » 29 апр 2012, 22:40

Здравствуйте!

Нашел в интернете код для скачивания файлов на планшет.

Код: Выделить всё

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import org.apache.http.util.ByteArrayBuffer;
import android.util.Log;

public class ImageManager {
        private final String PATH = "/data/data/com.helloandroid.imagedownloader/";  //put the downloaded file here
        public void DownloadFromUrl(String imageURL, String fileName) {  //this is the downloader method
                try {
                        URL url = new URL("http://yoursite.com/" + imageURL); //you can write here any link
                        File file = new File(fileName);
                        long startTime = System.currentTimeMillis();
                        Log.d("ImageManager", "download begining");
                        Log.d("ImageManager", "download url:" + url);
                        Log.d("ImageManager", "downloaded file name:" + fileName);
                        /* Open a connection to that URL. */
                        URLConnection ucon = url.openConnection();
                        /*
                         * Define InputStreams to read from the URLConnection.
                         */
                        InputStream is = ucon.getInputStream();
                        BufferedInputStream bis = new BufferedInputStream(is);
                        /*
                         * Read bytes to the Buffer until there is nothing more to read(-1).
                         */
                        ByteArrayBuffer baf = new ByteArrayBuffer(50);
                        int current = 0;
                        while ((current = bis.read()) != -1) {
                                baf.append((byte) current);
                        }
                        /* Convert the Bytes read to a String. */
                        FileOutputStream fos = new FileOutputStream(file);
                        fos.write(baf.toByteArray());
                        fos.close();
                        Log.d("ImageManager", "download ready in"
                                        + ((System.currentTimeMillis() - startTime) / 1000)
                                        + " sec");
                } catch (IOException e) {
                        Log.d("ImageManager", "Error: " + e);
                }
        }
}
Помогите или подскажите, как воспользоваться этим кодом для своих нужд. Чтобы я запустил функцию, указал название файла, адрес где файл находится и файл был скачан.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Вопрос по коду о скачивании файлов из сети

Сообщение KamiSempai » 30 апр 2012, 16:46

Видимо это должно использоваться так:

Код: Выделить всё

// Создаем объект DownloadFromUrl
ImageManager imageManager = new ImageManager();
// Скачиваем файл "MyPhoto1.jpg" и сохраняем его как "HotBaby1.jpg"
imageManager.DownloadFromUrl("MyPhoto1.jpg","HotBaby1.jpg");
Константа "PATH" показывает куда будет сохранен файл (исправьте его на свой). При создании переменной "url" указывается адрес с которого нужно скачать (его тоже необходимо на свой исправить).
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

laandrew
Сообщения: 53
Зарегистрирован: 02 апр 2012, 09:40

Re: Вопрос по коду о скачивании файлов из сети

Сообщение laandrew » 01 май 2012, 19:27

Спасибо!

А что нужно в коде поменять, чтобы картинка скачивалась на sd-карту в планшете, а не в память?

laandrew
Сообщения: 53
Зарегистрирован: 02 апр 2012, 09:40

Re: Вопрос по коду о скачивании файлов из сети

Сообщение laandrew » 01 май 2012, 20:14

Я подставил в путь /mnt/sdcard/download/
Папка на sd-карте существует.
Но файл так и не появился.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Вопрос по коду о скачивании файлов из сети

Сообщение KamiSempai » 01 май 2012, 20:20

Можно воспользоваться классом Environment
Как им пользоваться Вам расскажет SKR: viewtopic.php?f=26&t=860
laandrew писал(а):Я подставил в путь /mnt/sdcard/download/
Папка на sd-карте существует.
Но файл так и не появился.
Скорее всего Вы не разрешили приложению работу с картой памяти. Как это можно сделать, Вам опять расскажет SKR, по той-же ссылке :)
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

laandrew
Сообщения: 53
Зарегистрирован: 02 апр 2012, 09:40

Re: Вопрос по коду о скачивании файлов из сети

Сообщение laandrew » 01 май 2012, 22:22

Спасибо! Получилось!

Закрыто