2013-04-12 1 views
22

Я хотел создать мобильное приложение для своего веб-проекта. Я нашел телефонный звонок. Он говорит: легко создавать приложения, используя HTML, CSS и JavaScript. Раньше я не создавал мобильное приложение, использующее телефон. Существует три варианта хранения памяти-store.js (MemoryStore), ls-store.js (LocalStorageStore) и websql-store.js (WebSqlStore). Я просто хочу сохранить токен, чтобы узнать пользователя. Какое хранилище лучше всего подходит. Есть ли лучший способ создать мобильное приложение.Использование локального хранилища в телефоне

Я ценю любую помощь.

ответ

39

Использование локального хранилища, вероятно, будет проще всего для ваших нужд.

В основном говоря, приложения PhoneGap являются родными приложениями (поэтому их можно распространять через магазины приложений), которые просто запускают веб-страницу или страницы. Затем API PhoneGap предоставляет JavaScript-крючки в функции устройства, такие как камера и т. Д. Это больше, но на данный момент это фон.

Так как приложение является по существу веб-страницей (HTML5, CSS, JS), вы можете использовать LocalStorage (часть HTML5).

Пример локального использования хранения:

Установка значения:

localStorage.myname = "Greg"; 

Получение значения:

localStorage.myname; // returns "Greg" 

Больше информации здесь для локального хранения: http://diveintohtml5.info/storage.html

для Windows Телефон 7: http://docs.phonegap.com/en/3.4.0/cordova_storage_storage.md.html#Storage

Синтаксис как ниже

localStorage.setItem("name", "Alen"); 

localStorage.getItem("name"); //will return Alen 
+0

localstorage сохраняет значения, если приложение закрыто и открыто. Я ценю вашу помощь. –

+2

Да. Даже когда телефон выключен. Помните, хотя у вас есть ограничение на 5 МБ с помощью LocalStorage. Подробнее об этой ссылке внизу ... – Greg

+1

Ooh Отличное решение Dude ... Cheerzzz – chhameed

0

Я бы порекомендовал вам также заглянуть в Lawnchair решения постоянного хранения. Он был построен с использованием мобильного подхода. Я использовал его в некоторых проектах; он работает очень хорошо.

Пример кода

var store = new lawnchair({name:'testing'}, function(store) { 
    // create an object 
    var me = {key:'brian'}; 

    // save it 
    store.save(me); 

    // access it later... yes even after a page refresh! 
    store.get('brian', function(me) { 
     console.log(me); 
    }); 
}); 

Вы можете прочитать об этом в http://brian.io/lawnchair/

1

Точку добавить об использовании LocalStorage является то, что он поддерживается только HTML5-совместимыми устройствами. Для более ранних устройств (также отличный выбор для новых устройств) вариант заключается в использовании SQLite-реализации phonegap. See here...

+0

Выполняется ли реализация SQLite в SQLite для Кордовы? – Vivek

0

Друг, я тоже безуспешно пытался использовать файлы cookie с телефонной связью. Решением было использование localStorage.

Key Простой пример:

var keyName = window.localStorage.key(0); 

Set Item Простой пример:

window.localStorage.setItem("key", "value"); 

Получить Пункт Быстрый Пример

var value = window.localStorage.getItem("key"); 
// value is now equal to "value" 

Удалить элемент Простой пример:

window.localStorage.removeItem("key"); 

Clear Быстрый Пример:

window.localStorage.clear(); 

Если вы используете вы JavaScript для мобильных и Интернет, вы можете использовать этот код, чтобы обнаружить, что состояния происходит:

var wl = window.location.href; 
var mob = (wl.indexOf("android")>0); 

Ссылки: http://docs.phonegap.com/en/1.2.0/phonegap_storage_storage.md.html#localStorage http://cordova.apache.org/docs/en/6.x/cordova/storage/storage.html#page-toc-source

Знайте: использование анонимной навигации по iOS может привести к тому, что localstorage не будет работать, как показано на рисунке. Простой тест, который отлично работает для меня:

$(document).ready(function() { 
    try { 
     localStorage.setItem('test', '1'); 
    } catch (Err) { 
     if (Err.message.indexOf('QuotaExceededError') > -1) { 
      // Tell the user they are in anonymous mode 
      // Sugest it to go to https://support.apple.com/pt-br/HT203036 to get help to disable it 
      } 
     } 
    } 
});