Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
alexvinn
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 59
1

Работа с файлом данных в внутренней памяти

07.05.2014, 18:24. Просмотров 636. Ответов 7
Метки нет (Все метки)

Вопрос - если я создам ПРИЛОЖЕНИЕМ файл в внутренней памяти (например - file.data), смогу ли я потом найти его сервисом ЭТОГО приложения только по имени (без всяких путей)? Т.е. пишется ли файл ПОСТОЯННО в одно и тоже место для приложения. Вообщем, нужно в маленьком файлике хранить данные и настройки для приложения и сервиса ЭТОГО приложения, который постоянно крутится в памяти и периодически смотрит в этот файл. Может быть есть более грамотные способы реализации этой задачи ?

Всем заранее спасибо за ответы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2014, 18:24
Ответы с готовыми решениями:

Не воспроизводятся звуки с внутренней памяти
Эксцепшин: "prepare failed. status=0x1" Пермишины есть, картинки с той же...

Как программно обратиться к внутренней памяти устройства
Здравствуйте, подскажите пожалуйста, имеется планшет Samsung Galaxy Tab 4 с ОС...

Чтение ассоциированного .txt файла с внутренней памяти по URI
Добрый день. Необходимо в программе прочитать ассоциированный текстовый файл...

Работа с файлом
Здравствуйте! У меня образовалась проблема . Ничего по этому поводу не нашел ,...

Работа с файлом из папки Assets
Вопрос к знающим. При старте приложения в методе onCreate() постоянно копирую...

7
Patch
2336 / 492 / 22
Регистрация: 01.04.2009
Сообщений: 2,181
07.05.2014, 18:28 2
Preferences
0
alexvinn
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 59
07.05.2014, 18:58  [ТС] 3
Файл будет меняться сервисом с инета. Будет разное количество данных в полях и т.д. Возможно ???
0
Patch
2336 / 492 / 22
Регистрация: 01.04.2009
Сообщений: 2,181
07.05.2014, 19:57 4
Ну, ёпрст! там-же - работа с файлами
Но как файл будет меняться сервисом, если приложение будет постоянно запрашивать из него данные?
Сервис - это другой поток. Приложение будет регулярно падать из-за конфликта блокировок.

А вообще - качаем файл и все.
Ставим в приложении таймер и каждые сколько-то там минут/секунд и прочее - проверяем, не изменился ли файл в сети. И если изменился - приостанавливаем работу приложения, скачиваем файл, восстанавливаем работу. Никаких сервисов.

Либо все данные запрашивать именно У СЕРВИСА. Т.е. и создавать файл, если надо, и скачивать, и читать его не приложением, как таковым, а именно сервисом по запросу приложения.
Но тогда изначальный вопрос опять-же отпадает, потому что абсолютно пофигу, где там сервис его создаст - искать его из приложение просто НЕЛЬЗЯ.

В общем, неправильно что-то у вас с архитектурой спланировано.
0
alexvinn
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 59
07.05.2014, 20:29  [ТС] 5
Ситуация такая, действительно плохо обрисовал, - приложение, при открытии проверяет запущен ли сервис, если нет - запускает, который раз в 6-12 часов скачивает файл (10-50 кб) на смарт и выдает нотификацию что есть обновление в статус бар. Пользователь открывает приложение через нотификацию и приложение при открытии подгружает эти данные один раз при загрузке. Т.е. вероятность блокировки минимальна, хотя и возможна. Так вот, как граммотно сделать что-бы и сервис и приложение имели доступ к одним данным ? Или преференс или отдельный файл. Преференс предпочтительно, но будет ли он иметь доступ, когда приложение закрыто ?
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
07.05.2014, 21:04 6
alexvinn,
Цитата Сообщение от alexvinn Посмотреть сообщение
Преференс предпочтительно, но будет ли он иметь доступ, когда приложение закрыто
будет. Так как у сервиса и самого приложения один и тот же контекст - Application.

Это такой же файл. Просто доступ к нему синхронизирован.
Цитата Сообщение от Patch Посмотреть сообщение
Приложение будет регулярно падать из-за конфликта блокировок.
Если руки из плеч растут, то ничего не будет. Синхронизация доступа не просто так ведь существует

P.S. да скачивайте Вы этот файл и кидайте его в кэш-директорию, в чём проблема, зачем Вам preferences.
1
Patch
2336 / 492 / 22
Регистрация: 01.04.2009
Сообщений: 2,181
07.05.2014, 21:06 7
Я так и не понял, ЗАЧЕМ делать то, что заведомо может непредсказуемо падать?

Не знаю ни одного случая, когда бы такой одновременный доступ был необходим.

Ну, если так хочется сделать через жопу, но чтоб точно работало - почитайте, как решается та-же проблема при работе с SQLite. Android. Особенности работы с SQLite

Если руки из плеч растут, то ничего не будет. Синхронизация доступа не просто так ведь существует
О чем и речь. Если руки растут из плеч такой вопрос не возникает вообще.
1
alexvinn
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 59
07.05.2014, 21:18  [ТС] 8
YuraAAA, Patch - Спасибо. +1.
0
07.05.2014, 21:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2014, 21:18

База данных на карте памяти
У меня приложение создаёт базу данных, но она создаётся в памяти телефона....

Найти адрес ячейки внутренней памяти данных путем деления числа 3С на 2
Найти адрес ячейки внутренней памяти данных путем деления числа 3С(в 16ричной...

Запись и чтение данных из внутренней флэш памяти винчестера, или получение ID винта
Доброго времени суток! Господа, есть у меня очень интересный вопрос, который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru