Как создать / использовать энергонезависимую переменную на уровне фреймворка
Я не могу создать переменную на уровне платформы Android или на уровне приложения, которая сохранит свое значение даже после сброса настроек или изменения программного обеспечения. То же самое я могу реализовать в коде модема, основанного на qualcomm. В qualcomm мы можем добавить элементы NV.
Но я хочу это на уровне платформы Android или прикладного уровня.
Я работаю над версией 2.2.
2 ответа
Насколько я знаю, обычное стороннее приложение не может хранить данные, которые не могут быть удалены пользователем. Как внутренние, так и внешние хранилища могут быть очищены в любое время.
Внутреннее хранилище приложения будет очищено при сбросе настроек, когда приложение будет удалено или когда пользователь нажмет "Очистить данные" в операции "Управление приложениями".
Внешнее хранилище - это простая SD-карта, которая может быть отформатирована пользователем в любое время на любом другом устройстве (есть устройства, которые имеют встроенное внешнее хранилище, но его также можно отформатировать в настройках Android).
И нет никакого API для элементов NV (что разумно, я был бы удивлен, увидев, что это доступно сторонним разработчикам приложений).
Таким образом, вы не сможете хранить "энергонезависимую переменную" в Andrdoid. По крайней мере, без рута. И даже тогда вещи могут сильно отличаться от устройства к устройству.
Существует служба резервного копирования, которая может быть тем, что вы ищете - храните некоторые настройки приложения в облаке Google - http://developer.android.com/guide/topics/data/backup.html.