Android đang hoạt động: Triển khai kiến ​​trúc MVP (Model – View – Presenter) cho ứng dụng Android. Quá khứ 1: Phân tích yêu cầu

Tram Ho

Tổng quat

Hãy thảo luận về cách triển khai Kiến trúc MVP của Android trong trường hợp thực tế.

  1. Phần 1: Tổng quan Yêu cầu về chức năng Đăng nhập và Kiến trúc MVP
  2. Phần 2: Triển khai mã nguồn của Kotlin trong Ứng dụng Android

Chúng tôi sẽ thiết kế Kiến trúc MVP như dưới đây

  1. Xem lớp:
    • UI: hiển thị dữ liệu -> cấu hình bố cục hoạt động / phân đoạn, dữ liệu ràng buộc, hành động ràng buộc -> với ngữ cảnh của ứng dụng
    • Bộ điều hợp: chuyển đổi dữ liệu nếu cần thiết (thường sử dụng với chế độ xem tái chế, …)
  2. Lớp mô hình:
    • mạng và DAO: xử lý cách lấy / tải dữ liệu (từ bộ đệm, từ API REST, …)
    • thực thể: chỉ cần thông tin mà các chức năng cần. (Nó có thể được lưu trữ trong cơ sở dữ liệu phòng, …)
  3. Lớp trình bày:
    • người trình bày: mở rộng ViewModel () / AndroidViewModel ()
      • biến dữ liệu kepp của bố trí cho dữ liệu ràng buộc
      • có trạng thái -> quyết định hành vi của Chế độ xem (do LiveData thực hiện)
      • giữ các tham chiếu thực thể để giữ dữ liệu cho Chế độ xem
      • giữ tham chiếu DAO / mạng để nhận / tải dữ liệu
      • tùy chọn: giữ / giới thiệu doanh nghiệp khác / xác thực tài liệu tham khảo cho doanh nghiệp chủ sở hữu
    • kinh doanh khác, xác nhận, …

Yêu cầu:

Người dùng muốn xây dựng một chức năng gọi là Đăng nhập. Nó có:

  • GUI: hiển thị dữ liệu và tiếp tục tương tác với người dùng.
  • dữ liệu: lưu trữ dữ liệu của người dùng để sử dụng cho doanh nghiệp đăng nhập.
  • hướng dẫn đăng nhập: kinh doanh chính.
  • đăng nhập một lần: tự động đăng nhập khi người dùng có tác giả trước.
  • xác nhận: xác thực dữ liệu.
  • hiển thị thông báo: thông tin và thông báo lỗi.

Hãy phân tích kinh doanh của người dùng

chúng tôi có một thông số chức năng đăng nhập như dưới đây:

  1. Màn hình hiển thị
  2. sso (đăng nhập tự động) bằng bộ nhớ cache
    • sso -> false: người dùng phải đăng nhập thủ công
    • sso -> true: tự động chuyển hướng đến màn hình chính
  3. Hướng dẫn đăng nhập
    • xử lý đầu vào của người dùng: cả hai (tên người dùng, mật khẩu) đều được điền -> bật nút đăng nhập, nếu không thì tắt
    • xác thực: (tắt nút đăng nhập khi kích hoạt tính năng không hợp lệ của người dùng khác.)
      • Tên người dùng không trống
      • Độ dài của tên người dùng là từ 6-8 ký tự
      • mật khẩu không trống
      • Độ dài của mật khẩu là từ 6-10 ký tự
      • cả tên người dùng và mật khẩu không thể chứa ký tự khoảng trắng
    • hành động đăng nhập
      • gọi API RESTfull để thực hiện đăng nhập bằng params: tên người dùng, mật khẩu theo định dạng JSON
      • Sự thành công:
        • Cập nhật trạng thái đăng nhập bộ đệm để đăng nhập lần sau
        • Chuyển hướng màn hình chính
      • Sai: hiển thị lỗi từ máy chủ
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo