2012-09-29 30 views
0

我正在構建一個Android應用程序,我希望用戶通過他們的Facebook詳細信息進行連接。 根據我的設計,當應用程序第一次啓動時,我想用LOGIN facebook按鈕顯示佈局。在用戶第一次執行登錄後,我不想再次顯示此佈局/活動 - 當應用程序被重新調整時,我想顯示另一個(主頁)屏幕,而不是登錄視圖。根據Android中的Facebook連接狀態顯示不同的佈局

我應該如何實現此功能?

回答

1

您需要跟蹤用戶是否已登錄。最簡單的方法可能是通過使用SharedPreferences,儘管有很多不同的方法來實現這一點。

一些可能最能說明如何做到這一點:

public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 

    if (!SharedPreferences.getBoolean("isLoggedIn")){ 
     // 1. User is not logged in, show login layout 
     setContentView(R.layout.login); 

     // 2. Let user login to Facebook 

     // 3. If login successful: 
     SharedPreferences.putBoolean("isLoggedIn", true); 
     Intent intent = new Intent(this, HomeActivity.class); 
     startHomeActivity(); 

     // 4. ..else, show error message. 
    } else { 
     // isLoggedIn was true, so user is logged in. Start HomeActivity 
     startHomeActivity() 
    } 
} 

public void startHomeActivity(){ 
    Intent intent = new Intent(this, HomeActivity.class); 
    startActivity(intent); 
} 
+0

但是,這意味着,無論如何我要顯示登錄(因爲的setContentView的)的佈局,然後去改變它?另外,爲什麼我應該使用SharedPreferences而不是isSessionValid - 它足夠嗎? –

+0

更新了答案。只要跟蹤用戶是否登錄,您當然可以使用isSessionValid而不是SharedPreference。 – hanspeide