2012-06-25 42 views
-2

假設我使用PHP + MySQL登錄系統,然後在退出應用程序後再次運行應用程序,無需再次登錄並自動登錄。解決問題。如何在運行Android應用程序時自動登錄

+0

您正在尋找Cookie類似的行爲,什麼只是簡單的方法,請參閱以下鏈接以獲取更多信息:http://stackoverflow.com/questions/5297925/how-to-implement-cookie-in-android-application – barrel

+0

您可以在SharredPreference/sqlite – Lucifer

回答

1

而第一次登錄u得到的階躍響應比存儲在sharedpreference療法用戶名或用戶ID的東西的用戶名或用戶ID類似如下圖所示

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(YourActivity.this); 

    prefs.edit().putInt("userid",userid).commit(); 

如後succesfull登錄這將你的用戶ID存儲在偏好和u可以檢查ü已經登錄或沒有

int Userid; 
prefs = PreferenceManager.getDefaultSharedPreferences(YourActivity.this); 
Userid= mPrefs.getInt("userid", 0); which will return defalut value 0 if u are not login 

退房後

if(Userid>0){ 
    // Means u are already logged in do here code what u want if u are login 
    }else{ 
    // Means u are not logged in than go to your login pageview from here 
} 

這是做ü希望想如果u希望在點擊按鈕比onclick事件logoout功能u必須添加對註銷下面的代碼的清除prefernce

prefs = PreferenceManager.getDefaultSharedPreferences(MyAccountActivity.this); 
prefs.edit().clear().commit(); 
+0

中存儲用戶名/密碼,但它怎麼能當再次運行應用程序時自動登錄? – red23jordan

+0

你必須得到優先值和檢查後,如果你沒有登錄的條件第一,如果你不是登錄比userid = 0根據我的代碼作爲prefence默認值和你的條件進入其他部分和你登錄後,你必須將ur值存儲爲代碼顯示爲上面的putint,它將把用戶ID和下一次,如果你來到該視圖或應用程序你有用戶ID比它進入如果條件 – Khan

+0

你的意思是不保存任何密碼優先? – red23jordan

3

這是你應該爲自動登錄該怎麼做:

1.Obtain從登錄用戶的網絡服務。這會話ID的會話ID與每個Web服務相關的呼叫你做。

2.只需將會話標識存儲在SharedPreferences或其他形式的持久存儲中。當應用程序重新啓動時,檢查會話標識是否已定義。確保每次登出時將其初始化爲空。如果SharedPreferences中的會話ID被定義爲自動登錄用戶。

3.使用此會話ID進行任何進一步的Web服務調用。

相關問題