Как использовать локальную базу данных в Windows Phone 7, чтобы сохранить только значение, а затем получать это значение каждый раз, когда приложение загружается (открывается)?
использование локальной базы данных для сохранения переменной в Windows Phone 7
Ответы (1)
Если все, что вы хотите сделать, это сохранить значение для извлечения, я бы рекомендовал использовать IsolatedStorage
, особенно класс ApplicationSettings
.
Пример его использования:
using System.IO.IsolatedStorage;
//storing value
int someValue = 10;
IsolatedStorageSettings.ApplicationSettings.Add("MyKey",someValue);
//write or update value
IsolatedStorageSettings.ApplicationSettings["MyKey"] = someValue;
//write to disk
IsolatedStorageSettings.ApplicationSettings.Save();
//reading value
if(IsolatedStorageSettings.ApplicationSettings.Contains("MyKey"))
{
int readValue = (int) IsolatedStorageSettings.ApplicationSettings["MyKey"];
}
Теперь Mango предлагает поддержку MSSqlCE, но для набора значений это излишне. База данных больше подходит, если вам нужно хранить реляционные данные, а не постоянные настройки пользователя/приложения.
Хотя IsolatedStorage удобен, его чтение и запись могут быть дорогими. Избегайте чтения из IsolatedStorage из вашего потока пользовательского интерфейса, что приведет к тому, что ваше приложение не будет отвечать на запросы.
person
Alan
schedule
05.08.2011
Я продолжаю получать эту ошибку: значение не попадает в ожидаемый диапазон, я проверил, и у меня нет повторяющегося значения. Независимо от того, какое значение ключа я использую...
- person Nghia Nguyen; 05.08.2011
@ng_ducnghia звучит как новый вопрос. И почти наверняка потребуется, чтобы вы показали свой код, чтобы он ответил.
- person Matt Lacey; 05.08.2011
Я решил это, просто нужно добавить функцию Clear() перед Add(), и она отлично работает: appSettings.Clear();
- person Nghia Nguyen; 05.08.2011
Я не рекомендую использовать Clear(), так как он очистит весь словарь настроек. Вместо этого вы можете использовать appSettings['mykey'] = value; Я обновил свой ответ, чтобы отразить это.
- person Alan; 05.08.2011