NSUserDefaults в Phonegap

(Я родной разработчик iPhone - новичок в Phonegap/Cordova)

Для определенных настроек или предпочтений мы используем NSUserDefaults в родной iOS. Есть ли эквивалент при использовании веб-просмотров и телефонной связи? Заранее спасибо.


person Prathiba    schedule 09.10.2012    source источник
comment
Вы можете написать плагин, чтобы соединить их вместе.   -  person nhahtdh    schedule 09.10.2012
comment
Нет ли в устройстве (подключенного к телефонной связи) хранилища, которое сохраняется при запуске и завершении приложения? Серьезно?? Как тогда сохранить настройки?   -  person Prathiba    schedule 09.10.2012
comment
Я не уверен, проверьте документацию или напишите свой собственный плагин. Это все, что я могу вам сказать (поскольку я не просматривал документацию и не писал плагин - я уверен только в том, как он работает внутри).   -  person nhahtdh    schedule 09.10.2012
comment
@Thiba Phonegap повторно реализует window.localStorage, который NSWebView пытается отключить. Это способ HTML5 для сохранения данных при запуске. Но NSUserDefaults это нечто большее, и плагин для его адаптации к PhoneGap был бы отдельно полезен.   -  person Potatoswatter    schedule 18.12.2012


Ответы (1)


Существует плагин Cordova для настроек приложения.

Использование:

function ok (value) {}
function fail (error) {}

var prefs = plugins.appPreferences;

// cordova interface

// store key => value pair
prefs.store (ok, fail, 'key', 'value');

// store key => value pair in dict (see notes)
prefs.store (ok, fail, 'dict', 'key', 'value');

// fetch value by key (value will be delivered through "ok" callback)
prefs.fetch (ok, fail, 'key');

// fetch value by key from dict (see notes)
prefs.fetch (ok, fail, 'dict', 'key');

// remove value by key
prefs.remove (ok, fail, 'key');

// show application preferences
prefs.show (ok, fail);

// instead of cordova interface you can use promise interface
// you'll receive promise when you won't pass function reference
// as first and second parameter

// fetch the value for a key using promise
prefs.fetch ('key').then (ok, fail);

// support for iOS suites (untested)
var suitePrefs = prefs.iosSuite ("suiteName");
suitePrefs.fetch (...);
suitePrefs.store (...);
person erikvimz    schedule 28.09.2015