Андроид използване на SharedPreferences данни

SharedPreferences като може да се досетите от името на Java класа, представлява клас (интерфейс) с помощта на който може да се споделят данни между отделните Activity и класове  изграждащи дадено приложение.

SharedPreferences представлява двойка  име->стойност, т.е. с дадено име може да се достъпи дадена стойност.

За да се вземат всички стойности в SharedPreferences зададени за дадено приложение трябва да се напише следния код:

SharedPreferences myP = Context.getSharedPreferences(“myPrefs”,MODE_WORLD_READABLE);

– “myPrefs” е името с което може да се открият всички зададени данни отнасящи се за дадено приложение.

– MODE_WORLD_READABLE е режима в който ще се използват данните. Може също да се използва и друг режим например MODE_PRIVATE

Сега обекта myP ще съдържа всички данни споделени за приложението.

За да се вземат точно определени данни (например String зададен с “myName”) от SharedPreferences  се пише:

String name = myP.getString(“myName”, “nothing”);

Първия параметър на getString() е зададеното име за данните, а втория е каква стойност да се върне ако не бъдат открити данни за “myName”.

В SharedPreferences  могат да се задават освен String данни и данни от тип boolean, int и float. Не е възможно да се задават double данни.

Една добра практика при използването на SharedPreferences  е да се направи проверка за липса на стойност за желаните данни т.е. дали данните съществуват в SharedPreferences. Ето как може да стане това:

String name = myP.getString(“myName”, null);
 if ( name ==  null ) {
SharedPreferences.Editor prefEditor = myP.edit();
prefEditor.putString(“myName”, “Nikolay”);
prefEditor.commit();
name = myP.getString(“myName”, null);
}
В if условието е показано как може да се запишат промени за конкретни данни. По този начин могат да се създават нови записи в SharedPreferences.
Трябва да се извика SharedPreferences.Editor като целта му е да се променят данните за обекта myP. След което чрез putString(name,value) се задава стойността за “myName”.
Чрез prefEditor.commit() се запомнят промените в SharedPreferences.
Ами в общи линии това са трите операции (четене, записване и проверка) около SharedPreferences обекта. Моля коментирайте и помогнете да направим разработването на приложение по-добро.

11 thoughts on “Андроид използване на SharedPreferences данни

Leave a Reply

Your email address will not be published. Required fields are marked *