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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Запретить смену ориентации экрана пока идет загрузка http://www.cyberforum.ru/android-dev/thread1778425.html
У меня есть такой код, где активити создается из двух фрагментов и потом запускает поток в котором идет сетевой запрос. В ответ приходит JSON я выделяю информацию и загружаю ее в TextView во фрагменты и в фон картинку(через Handler), но проблема в том, что если пользователь повернет экран а картинка еще не загрузилась - сетевой запрос не отработал то приложение падает с 07-09 20:12:58.256...
Программирование Android Нужно ли пользоваться префиксами m и s для именования переменных или это устарело? Добрый вечер всем, подскажите пожалуйста, используете ли вы префиксы m и s для переменных/полей класса? Дело в том что у андроида написано что надо : Follow Field Naming Conventions Non-public, non-static field names start with m. Static field names start with s. Other fields start with a lower case letter. Public static final fields (constants) are... http://www.cyberforum.ru/android-dev/thread1778424.html
Как подключиться с базе данных FireBird из Android Программирование Android
Всем привет, ребят кто нить сталкивался с такой задачей?. Смысл в том, что есть база данных Firebird .FBD, необходимо написать приложение под Android которое буде подключатся к данной базе и считывать информацию, вопрос - как подключиться с данной базе. Может кто то уже сделал сие чудо). В гугле ничего толкового не нашел. Может кто знает, заранее спасибо.
Как определить на какой номер звонят если в телефоне 2 сим карты? Программирование Android
Добрый день. Подскажите, пожалуйста, есть ли возможность в бродкаст ресивере отлавливать номер телефона, на который звонят при условии, что в телефоне две симки? То есть узнать на какую из симок поступил звонок.
Программирование Android Не получается открыть диалоговое окно, созданное в отдельном классе http://www.cyberforum.ru/android-dev/thread1778304.html
Всем привет! Учусь программировать под андроид, еще почти ничего не понимаю. Пробую урок отсюда. Пытаюсь вызвать диалоговое окно по нажатию кнопки "домой". Закомментированный диалог "покормите кота" успешно работает. А вот диалог, созданный в классе не открывается. Просто затемняется экран и всё. Из примера урока я попытался убрать всё "лишнее", может чего нужное зацепил? Заметил, что в...
Программирование Android Автоклик и автоскрин на андроиде Нужно приложение работающее в фоне, которое б нажимала бы автоматически на кнопку всплывающую от другого приложения (автоклик), понятно по анализу и распознованию элемента на экране. И нужно так же при появлении некого элемента делать автоскрин и отправлять его на сервак тфп, дропбокс.... как проще в общем ... Подскажите сталкивался ли кто с этим и возможно ли это ? подробнее

Показать сообщение отдельно
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
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;
        }
    }
Там есть и другие полезные методы, если интересно, пиши в ЛС чтоб не флудить.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru