10 tháng 8, 2013

Lập trình Android: Bài 13

Hôm nay sẽ học 2 chủ đề nhé mọi người do bù lại hôm qua Long onl trễ.
*Chủ đề 1: Sử dụng SAX để đọc dữ liệu từ file XML trong lập trình ứng dụng Android
1) XML là gì?
- Trước khi trả lời vấn đề này, Long nhắc lại rằng XML ở đây là một tập tin XML có lưu trữ dữ liệu dưới dạng các thẻ mở và thẻ đóng.
- XML (Extensible Markup Language) là một chuẩn được thiết lập để đọc các tài liệu được mã hóa. Nó được định nghĩa trong kỹ thuật viết XML của W3C.
- XML tương tự như HTML, nhưng các <thẻ phần từ> là do người  hon tự định nghĩa.
- XML được thiết kế đơn giản, dễ hiểu và dễ gửi và nhận trong môi trường Internet
- Rất nhiều công ty nổi tiếng trên thế giới sử dụng chuẩn XML này để lưu trữ dữ liệu nội bộ như: Microsoft Office, OpenOffice.org, và iWork của Apple


2) Sử dụng XML như thế nào:
- XML được sử dụng để định nghĩa và tài liệu hóa dưới dạng các Object Class (lớp đối tượng).
- Ví dụ một tài liệu XML(có đuôi .xml) có thể chứa 1 tập hợp các phần tử (employee) phức tạp như <employee id=”…” title=”…” >…</employee>
- Các phần tử cũng có thể chứa  hon các phần tử con nằm bên trong nó nữa ví dụ như : “name”, “country”, “city”, “zip” … (zip ở đây mà mã bưu chính của đất nước).
3) Giới thiệu SAX:
- API đơn giản cho XML (SAX) là một chuẩn phát triển công khai cho việc phân tích các sự kiện dựa trên các tài liệu XML. SAX định nghĩa như một bản tóm tắt chương trình giao diện làm mẫu bộ  hong tin XML (infoset)  hong qua một trình tự tuyến tính của các cuộc gọi phương pháp quen thuộc.
- Mặc dù SAX và DOM có thể có vẻ khác nhau, chỉ đơn giản là một sự phóng chiếu khác nhau của infoset XML vào loại chương trình. Vì SAX không yêu cầu nguồn lực cho một đại diện trong bộ nhớ của tài liệu, nó là một lựa chọn tốt để Document Object Model (DOM). SAX tạo điều kiện cho việc tìm kiếm các tài liệu lớn để trích xuất mẩu nhỏ  hong tin và cho phép bạn hủy bỏ sau khi xử lý  hong tin được đặt. SAX có thể được sử dụng để xây dựng DOM (hoặc các phần của DOM), ngược lại, các nhà phát triển có thể đi qua DOM và phát ra dòng SAX.
- SAX được phát triển hợp tác của các thành viên trong danh sách gửi thư XML-DEV (hiện đang được tổ chức bởi OASIS ). Phiên bản gốc của SAX, mà đã được cụ thể Java , là các API đầu tiên cho XML trong Java để đạt được hỗ trợ ngành công nghiệp lập trình.
[02/05/2013 7:48:31 CH] Long Doan Thanh: 4) Ví dụ demo:
Bỏ qua các tài liệu vô cùng khô khang, các bạn hãy đọc lướt qua để hiểu sơ sơ thôi nhé, hãy chú tâm vào phần bài ví dụ sẽ dễ hiểu hơn. Dưới đây là 1 ví dụ đơn giản để hiển thị dữ liệu lấy từ trong tập tin dữ liệu XML đưa vào hiển thị trong giao diện Android.
http://android.vn/threads/24865/
-------------------------------------------------------------------------------------------------------
*Chủ đề 2: Lưu trữ và lấy dữ liệu từ file XML bằng cách sử dụng Sharedpreferences.
Trong bài trước Long đã giới thiệu tới các bạn 1 cách lưu trữ trên một tập tin (file) có đuôi .txt và hôm nay cũng giới thiệu đến các bạn 1 cách lưu trữ khác nữa và cũng thường được các lập trình viên android sử dụng.
Rất nhiều bạn mới làm quen với lập trình thì cảm thấy lưu trữ với database SQLite là khó thì có thể bơi vào đây. Cách lưu trữ này không phải truy vấn, không phải đóng mở kết nối dữ liệu gì cả nhé.
1) Sharedpreferences là gì ?
- Là một cách lưu trữ dữ liệu từ ứng dụng hiện tại của bạn trên thiết bị sử dụng.
- Cụ thể ở đây là lưu trữ trong SDCard.
2) Vị trí dữ liệu được lưu trữ:
- Khi dữ liệu của bạn được lưu trữ thành công, đồng nghĩa với việc một tập tin sql được sinh ra tại đường dẫn sau:
SDCard/data/data/<tên package ứng dụng>/shared_prefs/<tên xml do bạn đặt>
- Và cấu trúc file này (bao gồm 1 cặp giá trị key và value) hiển thị như sau:
<?xml version=’1.0’ encoding=’utf-8’ standalone=’yes’ ?>
<map>
<string name=”key1”>value1</string>
<string name=”key2”>value2</string>
<string name=”key3”>value3</string>
</map>
(Lưu ý đây làm đoạn code tự sinh, chúng ta vào thư mục để test thử xem đã lưu đc kết quả hay chưa)
3) Thông tin thêm:
- Phương án lưu trữ này thường dùng để lưu trữ trạng thái của 1 ứng dụng khi bạn thoát ứng dụng đó ra và vào lại trong lần khác.
- Lưu trữ giá trị đơn giản, nhanh chóng không rườm rà và nguyên tắc như lưu trữ vs database..
- Nếu dữ liệu có lưu trữ theo cấu trúc với số lượng lớn thì khuyên không nên sử dụng. Nên sử dụng lưu trữ với database (sqlite).
4) Links có kèm source hướng dẫn:
http://android.vn/threads/26590/

Không có nhận xét nào:

Đăng nhận xét