0
我正在構建一個Android應用程序,我希望用戶通過他們的Facebook詳細信息進行連接。 根據我的設計,當應用程序第一次啓動時,我想用LOGIN facebook按鈕顯示佈局。在用戶第一次執行登錄後,我不想再次顯示此佈局/活動 - 當應用程序被重新調整時,我想顯示另一個(主頁)屏幕,而不是登錄視圖。根據Android中的Facebook連接狀態顯示不同的佈局
我應該如何實現此功能?
我正在構建一個Android應用程序,我希望用戶通過他們的Facebook詳細信息進行連接。 根據我的設計,當應用程序第一次啓動時,我想用LOGIN facebook按鈕顯示佈局。在用戶第一次執行登錄後,我不想再次顯示此佈局/活動 - 當應用程序被重新調整時,我想顯示另一個(主頁)屏幕,而不是登錄視圖。根據Android中的Facebook連接狀態顯示不同的佈局
我應該如何實現此功能?
您需要跟蹤用戶是否已登錄。最簡單的方法可能是通過使用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);
}
但是,這意味着,無論如何我要顯示登錄(因爲的setContentView的)的佈局,然後去改變它?另外,爲什麼我應該使用SharedPreferences而不是isSessionValid - 它足夠嗎? –
更新了答案。只要跟蹤用戶是否登錄,您當然可以使用isSessionValid而不是SharedPreference。 – hanspeide