Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Загрузка файла по URL - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android HTML разметка http://www.cyberforum.ru/android-dev/thread1690555.html
Вот допустим у меня есть какая то HTML разметка таблицы. И я хочу увидеть - проверить что эта разметка коректная - все нормально в ней. Как я могу это сделать ? Если открыть HTML файл просто в...
Программирование Android Редактирование в IJ Всем снова здрасьте. Подскажите почему в интелидж айдиа я не могу отредактировать новое приложение. Не могу добавить ни кнопки, ни иные элементы view? http://www.cyberforum.ru/android-dev/thread1690507.html
Программирование Android Наложение на ScrollView
Добрый день. Вот такая проблема, у меня сверху ScrollView лежит еще один блок LinearLayout. Как сделать чтобы в этих блоках height был 100% вот пример. <ScrollView...
Программирование Android SQLite как записать результат запроса в переменную (Android, Java)
Здравствуйте! Помогите, пожалуйста решить проблему. Необходимо получить кол-во записей в таблице. Для этого использую такой вот запрос: SELECT COUNT(*) FROM table; Собственно, вот метод из...
Программирование Android NullPointer в OnCreate http://www.cyberforum.ru/android-dev/thread1690248.html
Наверное типичный вопрос, но вылетает ошибка в: Caused by: java.lang.NullPointerException at...
Программирование Android Обмен опытом (разработка под 1с) Добрый вечер, интересует такой вопрос. Разрабатывал ли кто андроид приложение посредством мобильной платформы 1с, и интересует сборка apk, и всякие фичи, типо авторизации и т.п. подробнее

Показать сообщение отдельно
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
23.03.2016, 01:12
Gared,

1. Интерфейс для результата:

Java
1
2
3
4
5
6
7
8
9
10
11
public interface FileLoadingListener {
 
    void onBegin();
 
    void onSuccess();
 
    void onFailure(Throwable cause);
 
    void onEnd();
 
}

2. Таска

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class FileLoadingTask extends AsyncTask<Void, Void, Void> {
 
    private String url;
    private File destination;
    private FileLoadingListener fileLoadingListener;
    private Throwable throwable;
 
    public FileLoadingTask(String url, File destination, FileLoadingListener fileLoadingListener) {
        this.url = url;
        this.destination = destination;
        this.fileLoadingListener = fileLoadingListener;
    }
 
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        fileLoadingListener.onBegin();
    }
 
    @Override
    protected Void doInBackground(Void... params) {
        try {
            FileUtils.copyURLToFile(new URL(url), destination);
        } catch (IOException e) {
            throwable = e;
        }
        return null;
    }
 
    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        fileLoadingListener.onEnd();
        if (throwable != null) {
            fileLoadingListener.onFailure(throwable);
        } else {
            fileLoadingListener.onSuccess();
        }
    }
}
3. Запуск

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
new FileLoadingTask(
                "https://....jpg",
                new File(Environment.getExternalStorageDirectory() + "/Download/img.jpg"),
                new FileLoadingListener() {
                    @Override
                    public void onBegin() {
 
                    }
 
                    @Override
                    public void onSuccess() {
 
                    }
 
                    @Override
                    public void onFailure(Throwable cause) {
 
                    }
 
                    @Override
                    public void onEnd() {
 
                    }
                }).execute();
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru