Dựa trên các phân tích trên từng ca sử dụng phần trên, ta có có thể thiết kế các lớp của hệ thống như sau:
Các lớp demo, encode, decode và help là lớp dẫn xuất của lớp cơ sở Activity.
Lớp demo: tạo giao diện chính của chương trình liên kết với các chức năng khác của ứng dụng như Encode, Decode, Help.
Phương thức:
− onCreate() là phương thức Overide của lớp Activity, được gọi khi lớp này khởi tạo.
− onClick() là phương thức Overide của lớp Activity, được gọi khi có sự kiện nhấn nút xảy ra.
Lớp encode: tạo giao diện cho ca sử dụng Encode, nhưng chức năng chính của lớp này là mã hóa một tập tin thành các ảnh mã QR.
− onCreate(): phương thức Overide của lớp Activity, được gọi khi lớp này khởi tạo.
− myProcess(): phương thức thực hiện gọi tới các phương thức doEncode() và updateResult().
− doEncode(): phương thức thực hiện việc mã hóa một tập tin thành các ảnh mã QR.
− updateResult(): được gọi khi phương thức doEncode() thực hiện xong. − onClick(): phương thức Overide của lớp Activity, được gọi khi có sự
kiện nhấn nút xảy ra.
− showDialog(): phương thức hiển thị một hộp thoại thông báo cho người dùng các thông tin.
− checkFilePath(): phương thức kiểm tra tập tin có tồn tại hay không. − fillRect(): phương thức tô màu cho ảnh.
Lớp decode: tạo giao diện cho ca sử dụng Decode, chức năng chính của lớp này là giải mã các tập tin ảnh và quét các ảnh QR để khôi phục lại tập tin ban đầu.
Phương thức:
− onCreate(): phương thức Overide của lớp Activity, được gọi khi lớp này được khởi tạo.
− myProcess(): phương thức thực hiện việc gọi các phương thức doDecode() và updateResult().
− doDecode(): phương thức thực hiện giải mã các tập tin ảnh QR về tập tin gốc ban đầu.
− updateResult(): phương thức này được gọi khi thực hiện xong phương thức doDecode().
− onClick(): phương thức Overide của lớp Activity, được gọi khi có sự kiện nhấn nút xảy ra (ở đây là nút Decode).
− onActivityResult(): phương thức này là phương thức Overide của lớp cơ sở Activity được gọi sau khi kết thúc một Intent gọi đến Barcode Scanner (quét mã vạch).
− showDialog(): phương thức hiển thị một hộp thoại thông báo cho người dùng các thông tin.
− checkFilePath(): phương thức kiểm tra xem tập tin có tồn tại không. − Lớp help: lớp này có nhiệm vụ hiển thị thông tin chương trình và hướng
dẫn sử dụng các chức năng.
Lớp Base64: lớp này có nhiệm vụ chuyển một mảng byte thành một xâu ký tự và ngược lại.
Phương thức:
− encode(): mã hóa mảng byte thành xâu. − decode(): giải mã xâu thành mảng byte.