在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自定義的畫面 並帶入上次的登入資訊
他會把帶入的登入資訊顯示出來
新手發文,有謬誤請告知,也請多多指教。