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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
#1

Как и куда сохранить в Internal Storage? - Программирование Android

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено через 2 минуты
Цитата Сообщение от V0v1k Посмотреть сообщение
проще просто по id девайса идентифицировать пользователя.
Да я просто пример написал. Вот ещё посложнее. Как запомнить адрес сервера если он переехал, а в приложении были удалены данные, в которых уже был адрес нового сервера.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.02.2013, 01:30     Как и куда сохранить в Internal Storage? #10
адрес сервера прописывать в обычную константу, а при переезде сервера просто выкладывать апдей приложения наверное.
ЧакНоррис
-17 / 4 / 1
Регистрация: 15.02.2013
Сообщений: 25
23.02.2013, 02:36     Как и куда сохранить в Internal Storage? #11
Цитата Сообщение от V0v1k Посмотреть сообщение
представьте что бы было, если бы каждое приложение что-то оставляло после себя что невозможно удалить...
Согласен)))
V0v1k, Пишите свою лицензию куда угодно на карту.
Цитата Сообщение от elf32 Посмотреть сообщение
Вот не пойму почему DefaultSharedPreferences удаляется при очистке данных приложения? веть настройки создаются на уровне телефоне, а не на уровне приложения (SharedPreferences).
Я так понимаю что эти настройки в первую очередь для создавшего их приложения, а во вторую, всем желающим, удаление их при удалении создавшего их приложения вполне логично)))
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.02.2013, 02:46     Как и куда сохранить в Internal Storage? #12
значит все таки я ошибся и можно читать преференсы других приложений если они выставили соответствующий мод...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2013, 10:07     Как и куда сохранить в Internal Storage?
Еще ссылки по теме:
Как сохранить все Exception Android
Android Как и где сохранить данные игры
Как сохранить целочисленную переменную в кэше? Android
Android. Как сохранить ArrayList<String> в файл Android
Как сохранить фокус в пределах одной View Android

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

Или воспользуйтесь поиском по форуму:
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
23.02.2013, 10:07     Как и куда сохранить в Internal Storage? #13
или подгружать с третьего ресурса. но так обычно делают когда часто меняется
Yandex
Объявления
23.02.2013, 10:07     Как и куда сохранить в Internal Storage?
Ответ Создать тему
Опции темы

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