安卓应用程序登录

3

有一些应用程序需要登录。我想知道这个应用程序如何在Android上管理用户会话?例如,一旦用户登录应用程序,下一次用户启动应用程序时,它将直接进入主页而不是登录页面。而如果用户第一次或登录之前启动应用程序,则应用程序将从登录页面开始。Phonegap能够处理这个吗?谢谢。

3个回答

3

根据您所针对的Android版本和运行的PhoneGap版本,您应该使用浏览器中提供的内置离线存储机制之一。这些包括 localStorage 和 WebKitSQLite。

还有一个非常棒的开源库,可以抽象出任何特定的离线存储机制,并允许可交换的底层存储适配器,并提供单个统一的键/值接口。该库称为 Lawnchair - 快来看看吧!

因此,在加载时,您将实例化Lawnchair并查看是否存在已保存的用户参数:

function onLoad() {
    myStore = new Lawnchair();
    myStore.get('login', function(i) {
        if (i == null) {
            // user did not login before, no saved credentials.
        } else {
            // user DID login, we can now auto-login for the user.
        }
    });
}

此外,在成功手动登录后,您可以将凭据保存到Lawnchair中,以便下次PhoneGap应用程序加载并检查它们的存在时可用:

function login(username, password) {
    /* 
     * Do the login stuff here
     */
    if (/* login was successful */) {
        myStore.save({key:'login',value:{username:username, password:password}});
    } else {
        alert('Could not log you in!');
    }
}

这里两个代码块之间最重要的部分是 get() 函数的第一个参数和传递给 save() 函数的对象的 key 属性。这两个需要匹配才能检索到相同的对象。
希望这有所帮助!

0

你可以将它存储在偏好设置中。以下是方法:

SharedPreferences settings = .getSharedPreferences("some_key, MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putString("token", "123456");
        editor.commit();

下次应用程序启动时,您可以检查是否存在此内容。希望能帮到您。


-1

不知道什么是PhoneGap,但我认为通常的应用程序只是在共享首选项中存储登录信息。因此,您所需做的就是在启动时检查是否有某个特定的首选项。如果没有任何首选项,则应显示登录页面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接