2010-09-08 48 views
0

我已經閱讀了這個問題: How do I implement a 'Remember me' function in an Android Activity?Android的 - 混亂關於「記住我」的功能

我發展「登錄」活動的第一次, 我在哪裏還具有:

  1. 2的EditText:用戶名,密碼
  2. 一個checkbpx:記住我
  3. 一個按鈕:登錄

如果用戶點擊登錄按鈕然後用戶名,​​密碼應該在所有活動之間共享,我知道這可以使用SharedPreference實現。

但在「記住我」複選框,如果用戶檢查一次,然後下次「登錄」活動不應該出現,直接第二活動應該出現,所以爲什麼我該怎麼辦?

+1

當啓用「記住我」並且發生成功登錄時,您只需在SharedPref中啓用一個標誌此事件的標誌......並且必須保存用戶名和密碼(最好在某些加密的形式),以便登錄可以完成。 – st0le 2010-09-08 12:07:19

+0

你好paresh ..你有解決方案嗎?..如果是這樣請與我分享.. – Vijaya 2011-07-02 05:31:55

回答

2

對於這種情況,我這樣做之前登錄活動我有啓動畫面來檢查記錄密碼選項是否啓用登錄活動。

初始屏幕另外一個活動,只是一個設計良好的圖像關於我的應用程序(如加載應用程序屏幕)。它的演出只需3秒鐘。在this link

+0

好吧我有你的想法,它是確切的一個,但如果我沒有啓動畫面和直接登錄活動 – 2010-09-08 13:10:56

1

在您登錄活動的onCreate()方法,

例如對於閃屏調用setContentView()檢查之前,「記住我」的狀態,如果這是真的,然後調用startActivity()打開下一個活動。喜歡的東西:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    if(isRememberMeChecked()) { 
    startActivity(intentForSecondActivity); 
    return; 
    } 

    setContentView(R.layout.act_first); 
    .... 
    ... 
    .. 
    . 

} 

這裏,isRememberMeChecked()只是取決於記住狀態的布爾值,說,如果我使用SharedPreferences存儲狀態返回一個簡單的方法,那麼我的方法是:

private boolean isRememberMeChecked() { 
    return sPref.getBoolean(C.REMEMBER_ME, false); 
}