有一些應用需要登錄。我可以知道應用程序如何在Android上管理用戶會話嗎?例如,一旦用戶登錄到應用程序,下次用戶啓動應用程序時,它將直接進入主頁而不是登錄頁面。而如果用戶第一次啓動應用程序或登錄前,應用程序將以登錄頁面開始。 PhonePhone可以處理這個問題嗎?謝謝。Android應用登錄
3
A
回答
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()
函數的第一個參數,而key
屬性傳遞給save()
函數。這兩者都需要匹配以檢索相同的對象。
希望有幫助!
-1
不知道phonegap是什麼,但我想通常應用程序只是將登錄名存儲在shared preference s的某處。所以,你需要的只是在啓動時檢查是否有一些特定的偏好。如果沒有,則應顯示登錄頁面。
0
您可以將其存儲在首選項中。這裏是如何
SharedPreferences settings = .getSharedPreferences("some_key, MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("token", "123456");
editor.commit();
下次啓動應用程序,你可以檢查,看看這是否存在。希望它有幫助