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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
alexvinn
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 59
#1

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

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

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

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

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

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

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

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

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

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

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

Если руки из плеч растут, то ничего не будет. Синхронизация доступа не просто так ведь существует
О чем и речь. Если руки растут из плеч такой вопрос не возникает вообще.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2014, 21:18     Работа с файлом данных в внутренней памяти
Еще ссылки по теме:

Как программно обратиться к внутренней памяти устройства Android
Работа с большими объемами данных Android
Android Работа с выводом данных из другого приложения
Чтение ассоциированного .txt файла с внутренней памяти по URI Android
Работа с файлом из папки Assets Android

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

Или воспользуйтесь поиском по форуму:
alexvinn
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 59
07.05.2014, 21:18  [ТС]     Работа с файлом данных в внутренней памяти #8
YuraAAA, Patch - Спасибо. +1.
Yandex
Объявления
07.05.2014, 21:18     Работа с файлом данных в внутренней памяти
Ответ Создать тему
Опции темы

Текущее время: 20:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru