[C#][Xamarin] 在Xamarin.Android 中記住登入資訊

在Xamarin.Form Android 中記住上次登入資訊

筆記一下

在Windows Form Application中 我們可以用Settings來記住上次的登入資訊

那在Xamarin平台上呢? 可以參考以下作法

當登入成功時觸發以下事件

// Successful entry
private void SuccessedLogin(clsAuthentication auth)
        {
            Android.Content.ISharedPreferences prefs = Android.Preferences.PreferenceManager.GetDefaultSharedPreferences(this);
            Android.Content.ISharedPreferencesEditor editor = prefs.Edit();

            // key: keyword, value: info to save
            editor.PutString("IP", auth.IP);
            editor.PutInt("Port", auth.Port);
            editor.PutString("UserID", auth.UserID);
            editor.PutString("Password", auth.Password);

            editor.Apply();
        }

其中 clsAuthentication 是我自定義的類別來儲存登入資訊

而Android.Preferences.PreferenceManager.GetDefaultSharedPreferences(Context context)

這context只需要填入正在使用的Activity即可

在上述程式碼我是寫在class MainActivity中 所以直接的使用"this"

而下次重新啟動時載入上次的登入資訊 作法如下

Android.Content.ISharedPreferences prefs = Android.Preferences.PreferenceManager.GetDefaultSharedPreferences(this);
clsAuthentication auth = new clsAuthentication()
{
        // key: keyword, defValue: value to return if this preference doesn't exist
        IP = prefs.GetString("IP", ""),
        Port = prefs.GetInt("Port", -1),
        UserID = prefs.GetString("UserID", ""),
        Password = prefs.GetString("Password", "")
};
            
LoadApplication(new App(auth));

其中 new App(auth) 是我用Xamarin.Form自定義的畫面 並帶入上次的登入資訊

他會把帶入的登入資訊顯示出來

 

 

新手發文,有謬誤請告知,也請多多指教。