2014-01-13 3 views
1

Я работаю над приложением, которое собирает информацию о избранных пользователях, которые пользователь добавил. Я хочу хранить две части информации для каждого любимого - число и часть текста. Таким образом, это будет примерно так:Хранение данных на телефоне Windows

123 Some text 
1234 Some more text 
1233 More text 

И так далее.

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

Как наилучшим образом хранить эти данные на Windows Phone? Я смотрел на IsolStorage и, в частности, ApplicationSettings, но я думаю, что он хранит только одну часть информации за раз? По крайней мере, когда я добавил некоторые данные о фаворитах, первоначальное значение было перезаписано новым значением.

Нужно ли использовать какую-то базу данных для хранения этой информации в IsolStorage? Я не могу себе представить, сколько данных будет огромным. Я ожидаю, что пользователи смогут добавлять только кучу фаворитов.

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

+0

Вы можете использовать некоторую реализацию базы данных, например [SterlingDB] (http://sterling.codeplex.com/) или [LexDB] (http://lexblog.azurewebsites.net/intro-to-lex-db/). Это очень просто включить в ваш проект и работать с их API. Или если вам не нужна база данных, вы можете сериализовать свои объекты и сохранить их в ApplicationSettings или ApplicationData, с которыми вы можете получить доступ с тем же ключом, а затем десериализовать для использования. –

ответ

2

Очень простое решение - использовать IsolStorageSettings. Настройки - это словарь значений. Вы получить доступ к настройкам, как такой

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; 

bool useLocation; 
if (settings.TryGetValue("UseLocation", out useLocation) == false) 
{ 
    // provide a default value if the key does not exist 
    useLocation = true; 
} 

Вы можете затем сохранить настройки как такой

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; 

settings["UseLocation"] = value; 
settings.Save(); 

Еще лучше, чтобы создать хороший класс Settings, чтобы заботиться о всех, что для вас. Вот a nice blog сообщение, подробно описывающее, как это сделать.

+0

Спасибо, но я не уверен, что это подходит для того, что мне нужно. , Я хочу иметь возможность хранить ключ и значение. Таким образом, в основном каждая «запись» как таковая будет ключевым/int и некоторым текстом, таким как номер телефона и имя. – irldev

+0

Затем просто сохраните их в настройках: настройки ["555-555-1234"] = "John Doe"; settings.Save(); –

+0

Спасибо. Как я могу перебирать это при загрузке страницы? – irldev

Смежные вопросы