Урок 33. Хранение данных. Preferences.
Re: Урок 33. Хранение данных. Preferences.
БД работает намного быстрее с большими массивами данных, легко расширяется, плюс все данные типизированны. БД так же имеет проверку на целостность данных.
С Preference проще работать, важный данные лучше в нем не хранить.
Кстати, подключение к БД по времени дольше, чем открытые файла на чтение?
С Preference проще работать, важный данные лучше в нем не хранить.
Кстати, подключение к БД по времени дольше, чем открытые файла на чтение?
Последний раз редактировалось xr0m 07 май 2013, 01:21, всего редактировалось 1 раз.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 33. Хранение данных. Preferences.
Я не пойму, зачем использовать передачу данных между активностями, если есть Bundle? Запись настроек - это операция записи на носитель информации, она слишком дорогая в такой ситуации.
Re: Урок 33. Хранение данных. Preferences.
Хм.. верно, не совсем точно выразился. Имел ввиду про PreferenceActivity, который по умолчанию сохраняет настройки, при изменении.
Подредактирую.
Подредактирую.
Re: Урок 33. Хранение данных. Preferences.
Здравтсвуйте.
Preferences используются для хранения настроек.
И если пользователь удалит прилжение, то настройки тоже удалятся.
Пример:
Есть приложение, которое авторизуется на сервере по token (случайно сгенерированная строка при первом запуске приложения)
Пользователю при первом запуске дается определенное количество бесплантых монеток(вся информация хранится на сервере), которые он может тратить. Как потратил нужно покупать.
Но пользователь может переустановить приложение(token сохраненный в Preferences при этом удаляется) и получить снова бесплатные монетки.
Вопрос: куда сохранять token что бы он оставатся между переустановками приложения?
Есть-ли такое место в android?
Preferences используются для хранения настроек.
И если пользователь удалит прилжение, то настройки тоже удалятся.
Пример:
Есть приложение, которое авторизуется на сервере по token (случайно сгенерированная строка при первом запуске приложения)
Пользователю при первом запуске дается определенное количество бесплантых монеток(вся информация хранится на сервере), которые он может тратить. Как потратил нужно покупать.
Но пользователь может переустановить приложение(token сохраненный в Preferences при этом удаляется) и получить снова бесплатные монетки.
Вопрос: куда сохранять token что бы он оставатся между переустановками приложения?
Есть-ли такое место в android?
Re: Урок 33. Хранение данных. Preferences.
При обновлении данные не удалятся. Если пользователь удалит приложение значит он не хочет чтобы от этого приложения оставались огрызки. Правильно решение - хранить данные между установками на сервере.WebPlayer писал(а):Здравтсвуйте.
Preferences используются для хранения настроек.
И если пользователь удалит прилжение, то настройки тоже удалятся.
Пример:
Есть приложение, которое авторизуется на сервере по token (случайно сгенерированная строка при первом запуске приложения)
Пользователю при первом запуске дается определенное количество бесплантых монеток(вся информация хранится на сервере), которые он может тратить. Как потратил нужно покупать.
Но пользователь может переустановить приложение(token сохраненный в Preferences при этом удаляется) и получить снова бесплатные монетки.
Вопрос: куда сохранять token что бы он оставатся между переустановками приложения?
Есть-ли такое место в android?
Вообще можно сохранить данные на карте памяти, там они не удаляться, но специально отведенного места под это нет, а гадить на карту памяти нехорошо. В принципе можно попросить пользователя указать путь где на карте памяти хранить token. Смотри http://developer.android.com/training/b ... nalStorage
Более не менее из публичных директорий для твоих целей подходит DIRECTORY_DOWNLOADS.
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 33. Хранение данных. Preferences.
Абсолютно верное говорит anber.
В чем проблема? Давайте монеты ему только тогда, когда информация будет получена с сервера о нём.Пользователю при первом запуске дается определенное количество бесплантых монеток(вся информация хранится на сервере), которые он может тратить. Как потратил нужно покупать.
Re: Урок 33. Хранение данных. Preferences.
Я хочу. Необходимо не давать второй раз бесплатные монеты.anber писал(а): При обновлении данные не удалятся. Если пользователь удалит приложение значит он не хочет чтобы от этого приложения оставались огрызки.
Да, верно, но чтобы получить эти данные нужен идентификатор пользователя, который хранится на телефоне (token, например, который должен быть одним и тем же между перестановками приложения. Что бы однозначно определить одного и того же пользователя)anber писал(а): Правильно решение - хранить данные между установками на сервере.
С карты памяти можно все очень легко удалить.anber писал(а): Вообще можно сохранить данные на карте памяти, там они не удаляться, но специально отведенного места под это нет, а гадить на карту памяти нехорошо. В принципе можно попросить пользователя указать путь где на карте памяти хранить token. Смотри http://developer.android.com/training/b ... nalStorage
Более не менее из публичных директорий для твоих целей подходит DIRECTORY_DOWNLOADS.
Собственно в этом и проблема: однозначно получить инфу пользователя с сервера по токену, который должен хранится на устройстве и не удалятся при удалении приложения. Иначе у пользователя будет новая регистрация с новыми бесплантными монетами.no-- писал(а): В чем проблема? Давайте монеты ему только тогда, когда информация будет получена с сервера о нём.
Количество монет пользователя хранится на сервере и все списания и начисления монет тоже на сервере.
Можно конечно просить пользователей регистрироваться при запуске прилежения, но это лишний шаг, который многие не захотят делать.
Re: Урок 33. Хранение данных. Preferences.
Вы себе сами сужаете поле деятельности. Почему обязательно так это организовывать? Вам ведь главное однозначно идентифицировать пользователя. Сгенерите для него ID, и потом даже если он переустановит ваше приложение, ID будет тот же и вы его опознаете.WebPlayer писал(а):Собственно в этом и проблема: однозначно получить инфу пользователя с сервера по токену, который должен хранится на устройстве и не удалятся при удалении приложения. Иначе у пользователя будет новая регистрация с новыми бесплантными монетами.
Совсем не лишнее, кмк, если за регистрацию они получат какую-то плюшку.WebPlayer писал(а):Можно конечно просить пользователей регистрироваться при запуске прилежения, но это лишний шаг, который многие не захотят делать.
Re: Урок 33. Хранение данных. Preferences.
Можно использовать Facebook/VK/twitter аккаунтWebPlayer писал(а):Я хочу. Необходимо не давать второй раз бесплатные монеты.anber писал(а): При обновлении данные не удалятся. Если пользователь удалит приложение значит он не хочет чтобы от этого приложения оставались огрызки.Да, верно, но чтобы получить эти данные нужен идентификатор пользователя, который хранится на телефоне (token, например, который должен быть одним и тем же между перестановками приложения. Что бы однозначно определить одного и того же пользователя)anber писал(а): Правильно решение - хранить данные между установками на сервере.С карты памяти можно все очень легко удалить.anber писал(а): Вообще можно сохранить данные на карте памяти, там они не удаляться, но специально отведенного места под это нет, а гадить на карту памяти нехорошо. В принципе можно попросить пользователя указать путь где на карте памяти хранить token. Смотри http://developer.android.com/training/b ... nalStorage
Более не менее из публичных директорий для твоих целей подходит DIRECTORY_DOWNLOADS.
Собственно в этом и проблема: однозначно получить инфу пользователя с сервера по токену, который должен хранится на устройстве и не удалятся при удалении приложения. Иначе у пользователя будет новая регистрация с новыми бесплантными монетами.no-- писал(а): В чем проблема? Давайте монеты ему только тогда, когда информация будет получена с сервера о нём.
Количество монет пользователя хранится на сервере и все списания и начисления монет тоже на сервере.
Можно конечно просить пользователей регистрироваться при запуске прилежения, но это лишний шаг, который многие не захотят делать.
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: Урок 33. Хранение данных. Preferences.
у меня если стоит на девайсе режим энергосбережения, то когда экран тухнет, объекты из памяти удаляются я так понял, и данные в приложении приходится набивать заново. Можно как-то сделать чтоб конкретный объект не умирал при выключении экрана??
Re: Урок 33. Хранение данных. Preferences.
Обычно когда экран тухнет объекты из памяти не удалятся. Если приложение остановить(зайти в список приложений и нажать остановить), то да объекты которые не сохранены в Preferences удалятся. Более того они обычно не удаляются при нажатии кнопки home и последующем разворачивании.brulik67 писал(а):у меня если стоит на девайсе режим энергосбережения, то когда экран тухнет, объекты из памяти удаляются я так понял, и данные в приложении приходится набивать заново. Можно как-то сделать чтоб конкретный объект не умирал при выключении экрана??
То что вам приходится набивать данные заново это значит не то что объекты удаляются, а то что они неправильно используются.
К примеру при создании Activity выполняется метод onCreate, при сворачивании/тушении экрана - onPause, и обратно при восстановлении - onResume.
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: Урок 33. Хранение данных. Preferences.
не знаю где спросить, спрошу тут. Версия кода и программы указывается в манифесте я так понял, а как мне получить эти данные из кода?
Re: Урок 33. Хранение данных. Preferences.
brulik67 писал(а):не знаю где спросить, спрошу тут. Версия кода и программы указывается в манифесте я так понял, а как мне получить эти данные из кода?
Код: Выделить всё
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
pInfo.versionName;
pInfo.versionCode;
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: Урок 33. Хранение данных. Preferences.
Здравствуйте. Я организовал скачивание файла с интернета на sd карту.
Подскажите как можно не скачивая файл проверить его дату, размер и тд.
Хочу для приложения сделать уведомления, что-то типа есть новый файл можно загружать или обновить.
Подскажите как можно не скачивая файл проверить его дату, размер и тд.
Хочу для приложения сделать уведомления, что-то типа есть новый файл можно загружать или обновить.
Re: Урок 33. Хранение данных. Preferences.
что за файл, откуда скачивать?tytryn писал(а):Здравствуйте. Я организовал скачивание файла с интернета на sd карту.
Подскажите как можно не скачивая файл проверить его дату, размер и тд.
Хочу для приложения сделать уведомления, что-то типа есть новый файл можно загружать или обновить.
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: Урок 33. Хранение данных. Preferences.
а в IDEA есть что-то похожее, может кто подсказать?Preferences-данные сохраняются в файлы и вы можете посмотреть их. Для этого в Eclipse откройте меню Window > Show View > Other и выберите Android > File Explorer. Отобразилась файловая система эмулятора.
Re: Урок 33. Хранение данных. Preferences.
IntelliJ не имеет File Explorer, но есть варианты:Isaev писал(а):а в IDEA есть что-то похожее, может кто подсказать?Preferences-данные сохраняются в файлы и вы можете посмотреть их. Для этого в Eclipse откройте меню Window > Show View > Other и выберите Android > File Explorer. Отобразилась файловая система эмулятора.
http://stackoverflow.com/questions/4866 ... n-intellij
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Урок 33. Хранение данных. Preferences.
trew, благодарю! Там в DDMS есть как раз вкладочка File Explorer. В общем можно сказать, что он там есть, функционала вполне хватает)
Ещё вопросик:
Ещё вопросик:
Почему при этом режиме мы всё равно видим файл в File Explorer, если он должен быть виден "только этому приложению"?Константа MODE_PRIVATE используется для настройки доступа и означает, что после сохранения, данные будут видны только этому приложению
Re: Урок 33. Хранение данных. Preferences.
может,у тебя на телефоне рут? тогда все будешь видеть
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 33. Хранение данных. Preferences.
Foenix, ну по статье его видно у всех, не только у меня
я почему-то думал с такими правими он ни откуда виден не будет, только приложение будет иметь к нему доступ
я почему-то думал с такими правими он ни откуда виден не будет, только приложение будет иметь к нему доступ