intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình di động - Lab07: Data Storage

Chia sẻ: Roong KLoi | Ngày: | Loại File: PDF | Số trang:10

95
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung của tài liệu trình bày về thao tác dữ liệu với SharedPreferences, thiết kế giao diện, xử lý code, gắn code cho các sự kiện, nơi lưu file, đọc ghi file Internal Storage – bộ nhớ trong, mô tả kịch bản, thiết kế màn hình, xử lý nút Read, xử lý nút Write, một số lưu ý và AutoComplete.

Chủ đề:
Lưu

Nội dung Text: Lập trình di động - Lab07: Data Storage

Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 07: Data Storage<br /> <br /> 1 Thao tác dữ liệu với SharedPreferences<br /> SharedPreferences dùng để lưu trạng thái của ứng dụng, dạng file xml. Lớp<br /> SharedPreferences cung cấp một framework giúp bạn có thể lưu trữ và đọc lên<br /> những cặp key-value liên tục dữ liệu đơn giản. Có thể dùng SharedPreferences với<br /> những kiểu dữ liệu như: booleans, floats, ints, longs, strings.<br /> 1.1<br /> <br /> Thao tác đọc/ghi<br /> <br /> 1.1.1 Ghi dữ liệu<br /> <br /> //Tạo đối tượng SharedPreferences<br /> SharedPreferences sp = getSharedPreferences(fileName, MODE_PRIVATE);<br /> SharedPreferences.Editor editor = sp.edit();<br /> //Lưu dữ liệu<br /> editor.putX(key, value); //X là kiểu dữ liệu<br /> //Ví dụ kiểu string<br /> editor.putString(“ten”,”kylh”);<br /> //Hoàn thành<br /> editor.commit();<br /> 1.1.2 Đọc dữ liệu<br /> <br /> //Tạo đối tượng SharedPreferences<br /> SharedPreferences sp = getSharedPreferences(fileName, MODE_PRIVATE);<br /> //Đọc dữ liệu<br /> sp.getX(key, default); //X là kiểu dữ liệu<br /> //Ví dụ kiểu string<br /> String t = sp.getString(“ten”, “”);<br /> <br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 1<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> 1.2<br /> <br /> Thiết kế giao diện<br /> <br /> 1.3<br /> <br /> Lab 07: Data Storage<br /> <br /> Xử lý code đọc/ghi<br /> <br /> Nếu người dùng check chọn ghi nhớ:<br /> <br /> Tiến hành kiểm tra đăng nhập thành công (nếu có), lưu thông tin và mở màn hình<br /> (Activity) cá nhân.<br /> <br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 2<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 07: Data Storage<br /> <br /> private void restoringPreferences() {<br /> SharedPreferences pre = this.getSharedPreferences(prefname,<br /> Context.MODE_PRIVATE);<br /> if(pre != null) {<br /> //lấy giá trị checked ra, nếu không thấy thì giá trị mặc định là false<br /> boolean bchk = pre.getBoolean("checked", false);<br /> if (bchk) {<br /> //lấy user, pwd, nếu không thấy giá trị mặc định là rỗng<br /> String user = pre.getString("user", "admin");<br /> String pwd = pre.getString("pwd", "123");<br /> txtUser.setText(user);<br /> txtPass.setText(pwd);<br /> }<br /> chkGhiNho.setChecked(bchk);<br /> }<br /> }<br /> private void savingPreferences(){<br /> //tạo đối tượng getSharedPreferences<br /> SharedPreferences pre = this.getSharedPreferences(prefname,<br /> Context.MODE_PRIVATE);<br /> //tạo đối tượng Editor để lưu thay đổi<br /> SharedPreferences.Editor editor = pre.edit();<br /> //Lưu trữ dữ liệu dạng key/value<br /> String user = txtUser.getText().toString();<br /> String pwd = txtPass.getText().toString();<br /> boolean bchk = chkGhiNho.isChecked();<br /> if(!bchk)<br /> {<br /> //xóa mọi lưu trữ trước đó<br /> editor.clear();<br /> }<br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 3<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 07: Data Storage<br /> <br /> else<br /> {<br /> //lưu vào editor<br /> editor.putString("user", user);<br /> editor.putString("pwd", pwd);<br /> editor.putBoolean("checked", bchk);<br /> }<br /> //chấp nhận lưu xuống file<br /> editor.commit();<br /> }<br /> 1.4<br /> <br /> Gắn code cho các sự kiện<br /> <br /> 1.4.1 Xử lý cho LoginActivity<br /> @Override<br /> protected void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.activity_login);<br /> btnDangNhap = (Button)findViewById(R.id.btnDangNhap);<br /> txtUser = (TextView)findViewById(R.id.txtUser);<br /> txtPass = (TextView)findViewById(R.id.txtPass);<br /> chkGhiNho = (CheckBox)findViewById(R.id.chkGhiNho);<br /> btnDangNhap.setOnClickListener(new View.OnClickListener() {<br /> @Override<br /> public void onClick(View v) {<br /> //luu trang thai<br /> savingPreferences();<br /> finish();//đóng màn hình hiện tại<br /> Intent mh = new Intent(LoginActivity.this, LoginSuccessActivity.class);<br /> //truyền dữ liệu qua màn hình mới<br /> mh.putExtra("user", txtUser.getText().toString());<br /> startActivity(mh);//mở màn hình mới<br /> }<br /> });<br /> }<br /> <br /> @Override<br /> protected void onPause() {<br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 4<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 07: Data Storage<br /> <br /> super.onPause();<br /> //gọi hàm lưu trạng thái<br /> savingPreferences();<br /> }<br /> @Override<br /> protected void onResume() {<br /> super.onResume();<br /> //gọi hàm đọc trạng thái ở đây<br /> restoringPreferences();<br /> }<br /> 1.4.2 LoginSuccessActivity<br /> <br /> protected void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.activity_login_success);<br /> txtMsg=(TextView) findViewById(R.id.txtmsg);<br /> btnThoat=(Button) findViewById(R.id.btnThoat);<br /> btnThoat.setOnClickListener(new View.OnClickListener() {<br /> @Override<br /> public void onClick(View arg0) {<br /> // TODO Auto-generated method stub<br /> finish();<br /> }<br /> });<br /> Intent i = getIntent();<br /> txtMsg.setText("Hello : " + i.getStringExtra("user"));<br /> }<br /> <br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2