Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
1

Как и куда сохранить в Internal Storage?

22.02.2013, 17:42. Просмотров 1812. Ответов 12
Метки нет (Все метки)

Нужно сохранить данные которые будут досупны после переустановки приложения или очистки данных приложения пользователем.

External Storage не подходит - может вообще не быть и может быть переставлено на другой аппарат.
SharedPreferences and DefaultSharedPreferences - после очистки данных там тоже удаляется.
Запись в getDownloadCacheDirectory, getRootDirectory, getDataDirectory - Permission denied.
Запись в /system - read only filesystem.

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

Internal storage
У меня есть 2 телефона: Samsung ace2 и HTC One V. На первом стоит андроид 2.3,...

WebView и html файлы в Internal Storage
С html файлами, находящимися в assets, можно работать из WebView, переходя по...

Дублируются файлы в папках и в /storage/emulated/0 и /storage/emulated/legacy — почему?
Почему дублируются папки в Андроид и можно ли это как-то предотвратить?...

Чтение с external storage
У меня есть код, который читает файл с внешнего накопителя File file = new...

Не виден файл сохраненный в /storage/emulated/0/papka
До сего дня я был уверен что файл сохраненный...

12
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.02.2013, 20:01 2
на веб сервер.
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
22.02.2013, 20:42  [ТС] 3
нет, не вариант. Как раз наоборот, данные и берутся из веб сервера, а потом нужно жестко сохранить их на телефоне раз и навсегда (ну по карйней мере не дать удалить эти данные тривиальным способом).
Нужно сохранить типа лицензии приложения.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.02.2013, 22:41 4
как сохранить шкаф в доме при сносе дома бульдозером не вынося шкаф с дома?)

Добавлено через 6 минут
Цитата Сообщение от elf32 Посмотреть сообщение
Нужно сохранить типа лицензии приложения.
в смысле? объясните зачем вам это? если бы так можно было сделать, то приложение могло бы например забить всю память телефона и запретить удаление. а дальше что? выбрасывать телефон?
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
22.02.2013, 23:54  [ТС] 5
Ну в данном случае сносится не весь дом (телефон), а только одна квартира (приложенгие). И чтобы сохранить шкаф, достаточно вынести его из квартиры.

Ну а что мешает забить всю память в пределах своего приложения (в /data).?
Да и наприер тот же Preferences - там сильно не разгонишся. Вот не пойму почему DefaultSharedPreferences удаляется при очистке данных приложения? веть настройки создаются на уровне телефоне, а не на уровне приложения (SharedPreferences).

Логика работы приложения примерно такая:
устанавливается приложение, первый раз соединяется с веб сервером, получает уникальный ключ - этот ключ нужно сохранить в телефоне и потом его постоянно передавать на сервер при последующих коннектах.
ключ должен генерироватся именно сервером. этот ключ накладывает определенные лимиты по использованию приложения которых изначально нет (типа триальная версия).

Кстати, запретить удаление и так можно - запросить права администратора, но почему то на очистку данных оно не работает.
В общем понятно. Не реализуемо.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.02.2013, 00:09 6
ну под домом я имел ввиду приложение, но это сути не меняет.

а чем вам не подходит использовать id телефона как ключ?

Добавлено через 1 минуту
Цитата Сообщение от elf32 Посмотреть сообщение
Ну а что мешает забить всю память в пределах своего приложения (в /data).?
приложения ведь можно снести... а вы хотите монопольные права на память девайса даже после сноса приложения.

Добавлено через 1 минуту
Цитата Сообщение от elf32 Посмотреть сообщение
веть настройки создаются на уровне телефоне, а не на уровне приложения (SharedPreferences).
а вы попробуйте получить настройки одного приложения с другого)

Добавлено через 8 минут
представьте что бы было, если бы каждое приложение что-то оставляло после себя что невозможно удалить...
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
23.02.2013, 01:07 7
Цитата Сообщение от elf32 Посмотреть сообщение
устанавливается приложение, первый раз соединяется с веб сервером, получает уникальный ключ - этот ключ нужно сохранить в телефоне и потом его постоянно передавать на сервер при последующих коннектах. ключ должен генерироватся именно сервером. этот ключ накладывает определенные лимиты по использованию приложения которых изначально нет (типа триальная версия).
я тут сейчас вам гениальную идею подкину, только никому не расказвайте:
пусть пользователь вводит логин и пароль а сервак в респонзе отвечает триальная ли версия или полная.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.02.2013, 01:09 8
проще просто по id девайса идентифицировать пользователя.
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
23.02.2013, 01:26  [ТС] 9
да я всё прекрасно понимаю.. сам готов выдергивать руки разработчикам которые создают папки где попало.
Я не сказал, что нужно создать что-то, что невозможно удалить, я сказал невозможно удалить тривиальным способом (т.е. через настройки приложения), это не значит, что его невозможно удалить через файловый менеджер.
На карте памяти как раз так же и происходит - приложения там гадят и ничего.
Да согласен, я ж говорю, не реализуемо. Я просто думал каким-то нестандартным способом - типа SharedPreferences, типа скрытая смс-ка, контакт в записной книжке или закладка.

Добавлено через 2 минуты
Цитата Сообщение от V0v1k Посмотреть сообщение
проще просто по id девайса идентифицировать пользователя.
Да я просто пример написал. Вот ещё посложнее. Как запомнить адрес сервера если он переехал, а в приложении были удалены данные, в которых уже был адрес нового сервера.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.02.2013, 01:30 10
адрес сервера прописывать в обычную константу, а при переезде сервера просто выкладывать апдей приложения наверное.
0
ЧакНоррис
-17 / 4 / 1
Регистрация: 15.02.2013
Сообщений: 25
23.02.2013, 02:36 11
Цитата Сообщение от V0v1k Посмотреть сообщение
представьте что бы было, если бы каждое приложение что-то оставляло после себя что невозможно удалить...
Согласен)))
V0v1k, Пишите свою лицензию куда угодно на карту.
Цитата Сообщение от elf32 Посмотреть сообщение
Вот не пойму почему DefaultSharedPreferences удаляется при очистке данных приложения? веть настройки создаются на уровне телефоне, а не на уровне приложения (SharedPreferences).
Я так понимаю что эти настройки в первую очередь для создавшего их приложения, а во вторую, всем желающим, удаление их при удалении создавшего их приложения вполне логично)))
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.02.2013, 02:46 12
значит все таки я ошибся и можно читать преференсы других приложений если они выставили соответствующий мод...
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
23.02.2013, 10:07 13
или подгружать с третьего ресурса. но так обычно делают когда часто меняется
0
23.02.2013, 10:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2013, 10:07

Android: internal error
Создал пустой проект под андроид. При попытке компиляции в эклипсе появляется...

Раздел памяти приложений(память в которую устанавливаются приложения) называется Internal Storage верно?
Раздел памяти приложений(память в которую устанавливаются приложения)...

Как предложить куда сохранить файл?
Текстовый файл сохраняется в папку загрузок по умолчанию, как сделать чтобы был...


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

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

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