SharedPreferences trong Android với Xamarin (Bài 7)
SharedPreferences trong Android với Xamarin được sử dụng để lưu dữ liệu kiểu boolean, float, int, string và long. Dữ liệu được lưu trong preference là riêng tư (private), bất kỳ ứng dụng nào khác đều không thể truy cập.
SharedPreferences trong Android với Xamarin – Các bước thực hiện
Bước 1: Shared Preferences cho phép chúng ta lưu và đọc dữ liệu sử dụng cặp key/value. Để sử dụng shared preferences , chúng ta gọi phương thức getSharedPreferences() với cú pháp như sau:
ISharedPreferences sp = Application.Context.GetSharedPreferences ("filename", FileCreationMode.Private);
Bước 2: Gọi phương thức Edit() của ISharedPreferencesEditor
ISharedPreferencesEditor editor = sp.Edit();
Bước 3: Xử lý ghi và đọc
3.1. Xử lý ghi thông tin vào Shared Preferences
editor.PutX("key", value); editor.Apply();
Trong đó x là kiểu dữ liệu và có thể là int, long, float, string, boolean
3.2 Xử lý đọc thông tin từ Shared Preferences
var value = sp.GetX("key", default_value);
Trong đó x là kiểu dữ liệu và có thể là int, long, float, string, boolean
SharedPreferences trong Android với Xamarin – Ví dụ
Thiết kế giao diện ứng dụng
Viết xử lý
EditText txtUserName, txtPassword; CheckBox chkRemember; ISharedPreferences sp; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Create your application here SetContentView(Resource.Layout.Shared_pref); txtUserName = FindViewById<EditText>(Resource.Id.txtUserName); txtPassword = FindViewById<EditText>(Resource.Id.txtPassword); chkRemember = FindViewById<CheckBox>(Resource.Id.chkRemember); sp = Application.Context.GetSharedPreferences("loginInfo", FileCreationMode.Private); txtUserName.Text = sp.GetString("username",""); txtPassword.Text = sp.GetString("password", ""); chkRemember.Checked = sp.GetBoolean("remember", false); } [Java.Interop.Export("xuLyDangNhap")] public void xuLyDangNhap(View v) { string usrName, pwd; usrName = txtUserName.Text; pwd = txtPassword.Text; if (usrName.Equals("admin") && pwd.Equals("123")) { Toast.MakeText(this, "Đăng nhập thành công", ToastLength.Short).Show(); ISharedPreferencesEditor editor = sp.Edit(); if (chkRemember.Checked) { editor.PutString("username", usrName); editor.PutString("password", pwd); editor.PutBoolean("remember", true); } else { editor.Clear(); } editor.Apply(); } else { Toast.MakeText(this, "Thông tin đăng nhập sai.", ToastLength.Short).Show(); txtUserName.RequestFocus(); } } [Java.Interop.Export("xuLyThoat")] public void xuLyThoat(View v) { Finish(); }
Chạy ứng dụng
Nhập thông tin đăng nhập hợp lệ (tên đăng nhập là admin, mật khẩu là 123) và không chọn “Ghi nhớ thông tin đăng nhập”
Thoát ứng dụng và chạy lại
Nhập thông tin đăng nhập hợp lệ (tên đăng nhập là admin, mật khẩu là 123) và chọn “Ghi nhớ thông tin đăng nhập”
Thoát ứng dụng và chạy lại