windows phone 8 使用獨立存儲保存用戶的登陸信息

      在開發windows phone 的時候我們一般都要保存用戶端登陸信息就像在做網頁的時候,用session保存用戶的登陸狀態一個月,兩個月,我們現在在做的是隻要軟件沒有卸載,那麼用戶的用戶名和密碼會一直存在着,你下次進入軟件的時候不用登陸了,這樣大大的增加了用戶的體驗。廢話不多說,來說下怎麼做這個問題吧。

操作流程:

第一步:

App.xaml.cs 中定義兩個方法(要先添加引用using System.IO.IsolatedStorage;

 private void LoadState()

        {

            PhoneApplicationService phoneAppServeice = PhoneApplicationService.Current;

            IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;

            string StudentName;

            if (settings.TryGetValue<string>("StudentName", out StudentName))

            {

 

                phoneAppServeice.State["StudentName"] = StudentName;

            }
      

        }


 

   

    private void SaveState()

        {

 

        PhoneApplicationService   phoneappserveice= PhoneApplicationService.Current;

        IsolatedStorageSettings settings=IsolatedStorageSettings.ApplicationSettings;

        if (phoneappserveice.State.ContainsKey("StudentName"))

        {

            settings["StudentName"] = phoneappserveice.State["StudentName"];

       

         }
} 


第二步

在頁面自帶的事件中調用這兩個方法

 

 // 應用程序啓動(例如,從“開始”菜單啓動)時執行的代碼

        // 此代碼在重新激活應用程序時不執行

        private void Application_Launching(object sender, LaunchingEventArgs e)

        {

            LoadState();

        }

 

        // 激活應用程序(置於前臺)時執行的代碼

        // 此代碼在首次啓動應用程序時不執行

        private void Application_Activated(object sender, ActivatedEventArgs e)

        {

            LoadState();

        }

 

        // 停用應用程序(發送到後臺)時執行的代碼

        // 此代碼在應用程序關閉時不執行

        private void Application_Deactivated(object sender, DeactivatedEventArgs e)

        {

            SaveState();

        }

 

        // 應用程序關閉(例如,用戶點擊“後退”)時執行的代碼

        // 此代碼在停用應用程序時不執行

        private void Application_Closing(object sender, ClosingEventArgs e)

        {

            SaveState();

        }

第三步

在用戶登錄的時候保存用戶的信息

 void login_loginCompleted(object sender, ServiceReference1.loginCompletedEventArgs e)

        {

            if (e.Result == true)

            {

                //這裏是登陸成功

                phoneappserveice.State["StudentName"] = txtName.Text.ToString();

                //登陸成功返回到上一個頁面

                MessageBox.Show("登錄成功");

                NavigationService.GoBack();

               

            }

            else

            {

                //這裏是登陸失敗 

                MessageBox.Show("用戶名或密碼錯誤");

              

            }

        }


第四步:讀取用戶的信息

 

 protected override void OnNavigatedTo(NavigationEventArgs e)

        {

            base.OnNavigatedTo(e);

 

            //頁面加載的時候

            if (phoneappserveice.State["StudentName"] != null)

            {

 

                StudentName.Text = phoneappserveice.State["StudentName"].ToString();

            }

}

就這樣就可以了。

在這裏附加幾張效果圖








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章