Tại màn hình này cho phép người dùng có thể quét mã, nhập mã hoặc tải ảnh từ hệ thống lên ứng dụng. Khi quét mã thành công, hệ thống sẽ truy tìm dữ liệu liên quan. Khi tìm thấy hệ thống sẽ lập tức khởi động lại và hiển thị màn hình chính.
Hình 4.2. Màn hình quét mã Qr code
Chi tiết màn hình 4.2 như bảng 4.2 sau:
Bảng 4.2. Mô tả chi tiết màn hình quét mã Qr code
STT Tên
1 animationView
STT Tên
3 btnScan
4 btnSend
5 btnScan2
Code xử lý mã truy xuất dữ liệu như sau:
IntentIntegrator(this).apply{
captureActivity = CustomActivity::class.java // activity custom để thực hiện scan.
setDesiredBarcodeFormats(IntentIntegrator.QR_CODE)//Choose type scan:
"QR Code", "Bar Code"
setPrompt("Move the camera to the QR code container to scan")
setCameraId(0)
setBeepEnabled(false)//Set sound when scan
setOrientationLocked(false)//Clock orientation of
screen initiateScan()//Start scan
}
Hình 4.3. Màn hình thống báo lỗi kết nối mạng
Code xử lý lỗi khi mất kết nối mạng như sau: if (!Configs.isOnline(this)) {
val builder: AlertDialog.Builder = AlertDialog.Builder(this)
builder.setTitle("")
builder.setCancelable(false)
val customLayout: View =
layoutInflater.inflate(R.layout.custom_alert_dialog,null)
builder.setView(customLayout)
val dialog = builder.create()
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARE
NT)) customLayout.btnTryAgain.setOnClickListener { dialog.dismiss() btnScan2.performClick() } customLayout.btnClose.setOnClickListener { dialog.dismiss() } dialog.show() return@setOnClickListener }
Khi người dùng quét mã không tồn tại, mã lỗi sẽ nhận được cảnh báo như sau:
Hình 4.4. Thông báo lỗi khi quét mã Qr code không hợp lệ
4.4. Màn hình chính
Khi thực hiện hoặc quét mã thành công, hệ thống sẽ hiển thị màn hình gồm bốn thẻ, phím chức năng quét mã. Bốn thẻ gồm:
➢ Thẻ Home: Hiển thị thông tin phòng.
➢ Thẻ Bills: Hiển thị danh sách các hóa đơn.
➢ Thẻ Lodgers: Hiển thị danh sách các thành viên.
➢ Thẻ Report: Hiển thị thống kê quá trình sử dụng điện nước thời gian hiện tại.