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

Чтение и запись внешних файлов - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Запретить смену ориентации экрана пока идет загрузка http://www.cyberforum.ru/android-dev/thread1778425.html
У меня есть такой код, где активити создается из двух фрагментов и потом запускает поток в котором идет сетевой запрос. В ответ приходит JSON я выделяю информацию и загружаю ее в TextView во фрагменты и в фон картинку(через Handler), но проблема в том, что если пользователь повернет экран а картинка еще не загрузилась - сетевой запрос не отработал то приложение падает с 07-09 20:12:58.256...
Android Как подключиться с базе данных FireBird из Android Всем привет, ребят кто нить сталкивался с такой задачей?. Смысл в том, что есть база данных Firebird .FBD, необходимо написать приложение под Android которое буде подключатся к данной базе и считывать информацию, вопрос - как подключиться с данной базе. Может кто то уже сделал сие чудо). В гугле ничего толкового не нашел. Может кто знает, заранее спасибо. http://www.cyberforum.ru/android-dev/thread1778407.html
Как определить на какой номер звонят если в телефоне 2 сим карты? Android
Добрый день. Подскажите, пожалуйста, есть ли возможность в бродкаст ресивере отлавливать номер телефона, на который звонят при условии, что в телефоне две симки? То есть узнать на какую из симок поступил звонок.
Android Не получается открыть диалоговое окно, созданное в отдельном классе
Всем привет! Учусь программировать под андроид, еще почти ничего не понимаю. Пробую урок отсюда. Пытаюсь вызвать диалоговое окно по нажатию кнопки "домой". Закомментированный диалог "покормите кота" успешно работает. А вот диалог, созданный в классе не открывается. Просто затемняется экран и всё. Из примера урока я попытался убрать всё "лишнее", может чего нужное зацепил? Заметил, что в...
Android Автоклик и автоскрин на андроиде http://www.cyberforum.ru/android-dev/thread1778100.html
Нужно приложение работающее в фоне, которое б нажимала бы автоматически на кнопку всплывающую от другого приложения (автоклик), понятно по анализу и распознованию элемента на экране. И нужно так же при появлении некого элемента делать автоскрин и отправлять его на сервак тфп, дропбокс.... как проще в общем ... Подскажите сталкивался ли кто с этим и возможно ли это ?
Android Обработчик кнопки не работает - приложение компилируется, но крашится при запуске Всем привет! Собственно, проблема: у меня получилось сделать udp-listener за пару вечеров - слава яйцам! Теперь я захотел добавить туда кнопку - нужно инкриментировать значение счётчика по нажатию кнопки (вообще хочу массив, чтобы по нажатию кнопки в массив добавлялся новый элемент с текущим содержанием текста, полученного по udp, и по нажатию второй кнопки - либо сохрнять этот массив на... подробнее

Показать сообщение отдельно
OlegJV
 Аватар для OlegJV
99 / 99 / 29
Регистрация: 13.03.2016
Сообщений: 452
10.07.2016, 13:23     Чтение и запись внешних файлов
Я обычно использую для файловых операций отдельный класс с такими методами:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static boolean writeExternal(InputStream is, String path) {
        Log.e("FM", "writeExternal " + path);
        if (!isExternalAvailable()) return false;
        File dest = new File(EXT_DIR.getAbsolutePath() + "/" + path);
        FileOutputStream writer = null;
        try {
            if (!dest.exists()) {
                dest.getParentFile().mkdirs();
                dest.createNewFile();
            }
            writer = new FileOutputStream(dest);
            writeFromInputToOutput(is, writer);
            return true;
        }
        catch (IOException e) {
            Log.e("FM", "ERROR " + e);
            return false;
        }
        finally {
            close(writer);
        }
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static int writeFromInputToOutput(InputStream is, OutputStream os) {
 
        byte[] buffer = new byte[BUFFER_SIZE];
        int bytesRead = EOF_MARK;
        int count = 0;
        try {
            while ((bytesRead = is.read(buffer)) != EOF_MARK) {
                os.write(buffer, 0, bytesRead);
                count += bytesRead;
            }
        }
        catch (IOException e) {
            return -1;
        }
        return count;
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public static InputStream readExternal(String path) {
        if (!isExternalAvailable()) return null;
        File source = new File(EXT_DIR.getAbsolutePath() + "/" + path);
        InputStream is = null;
        if (source.exists()) {
            try {
                is = new FileInputStream(source);
            }
            catch (FileNotFoundException e) {
                return null;
            }
        }
        return is;
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    public static boolean close(Closeable closeable) {
        if (closeable != null) {
            try {
                closeable.close();
                return true;
            }
            catch (IOException e) {
                // e.printStackTrace();
                return false;
            }
        }
        else {
            return false;
        }
    }
Там есть и другие полезные методы, если интересно, пиши в ЛС чтоб не флудить.
 
Текущее время: 02:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru