【发布时间】:2011-06-03 19:46:35
【问题描述】:
我正在使用手机 GAP 开发 iPhone 应用程序。在我的应用程序中,我们正在使用外部数据库。用户使用 Web 服务登录,我需要在登录后存储用户 ID。我如何使用手机 GAP 存储用户 ID。我可以为此使用手机 GAP 会话存储?可能吗?
知道的人请帮忙
谢谢, 伴侣。
【问题讨论】:
我正在使用手机 GAP 开发 iPhone 应用程序。在我的应用程序中,我们正在使用外部数据库。用户使用 Web 服务登录,我需要在登录后存储用户 ID。我如何使用手机 GAP 存储用户 ID。我可以为此使用手机 GAP 会话存储?可能吗?
知道的人请帮忙
谢谢, 伴侣。
【问题讨论】:
您可以尝试lawnchair 将数据存储为 JSON。
【讨论】:
Lawnchair 可能只是为了存储和 ID 有点矫枉过正,只需使用 HTML5 local storage。
【讨论】:
您在 Phonegap 中确实没有“会话”的概念 - 您有 HTML5 localStorage 来存储持久数据(想想“应用程序范围”):
var userId = localStorage.getItem("userId");
if (userId==null || userId==0) {
jQT.goTo("#login");
}
登录用户:
$('#btnLogin').click(function(){
$("#loginFailure").hide();
$.getJSON(svcUri + "authenticate.cfm?username="+$("#username").val()+"&password="+$("#password").val() + "&callback=?",function(data) {
localStorage.setItem("userId",data.userid);
userId = data.userid;
if (data.userid != 0) {
// do some tasks after logging in
jQT.goTo('#travelz');
} else {
$("#loginFailure").show();
}
});
return false;
});
【讨论】:
这里有一个SessionStorage的概念。它的工作方式与 localStorage 相同,但每次关闭应用程序时都会被删除
var keyName = window.sessionStorage.key(0); //Get key name
window.sessionStorage.setItem("key", "value"); //Set item
var value = window.sessionStorage.getItem("key");// Get item
window.sessionStorage.removeItem("key"); //Remove Item
window.sessionStorage.clear();//Clear storage
【讨论】:
你可以这样设置会话存储
var userid = 10;
sessionStorage.setItem('UserId',userid);
你会得到这样的会话变量
var data = sessionStorage.getItem('UserId');
注意:此变量将在关闭应用程序后重置,但如果您想保存在 localstorage 上,则需要 localStorage 函数,该函数在关闭应用程序后不会重置
【讨论】: