1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Dự Án 1 (ngành lập trình mobile) app quản lý giày sneaker

53 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề App Quản Lý Giày Sneaker
Tác giả Lê Hải Biên
Người hướng dẫn Nguyễn Quang Hưng
Trường học Trường Cao Đẳng FPT Polytechnic
Chuyên ngành Lập trình mobile
Thể loại dự án
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 53
Dung lượng 0,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1.1 Giới thiệu TBSD_SNEAKER (7)
  • 1.2 Yêu cầu của TBSD_SNEAKER (7)
  • 1.3 Lập kế hoạch dự án (8)
  • 2.1 Sơ đồ Use Case (9)
    • 2.2.2 Quản lý Loại Giày (0)
    • 2.2.3 Quản lý Giày (0)
    • 2.2.4 Quản lý Hóa Đơn (0)
    • 2.2.5 Quản Lý Khách Hàng (0)
    • 2.2.6 Đăng nhập (0)
    • 2.2.7 Đổi mật khẩu (0)
    • 2.2.8 Quản Lý Nhân Viên (0)
    • 2.2.9 Thông Kê Doanh Thu (0)
    • 2.2.10 Thông Kê Top (12)
  • 2.3 Sơ đồ triển khai và yêu cầu hệ thống (12)
    • 2.3.1 Sơ đồ triển khai (12)
    • 2.3.2 Yêu cầu hệ thống (13)
  • 3.1 Mô hình công nghệ ứng dụng (13)
  • 3.2 Thực thể (14)
    • 3.2.1 Sơ đồ quan hệ thực thể (ERD) (14)
    • 3.2.2 Chi tiết thực thể (15)
  • 3.3 Giao diện (17)
    • 3.3.1 Sơ đồ tổ chức giao diện (17)
    • 3.3.2 Giao diện MÀN HÌNH CHÍNH (18)
    • 3.3.3 Giao diện quản lý (19)
    • 3.3.4 Các giao diện hỗ trợ khác (26)
  • 4.1 Tạo giao diện (28)
    • 4.1.1 Màn hình chính (MainActivity) (28)
    • 4.1.2 Các màn hình quản lý (30)
    • 4.1.3 Màn hình thống kê top 10 (fragment_top) (34)
    • 4.1.4 Màn hình thống kê doanh thu (fragment_doanh_thu) (34)
    • 4.1.5 Các giao diện hỗ trợ khác (36)
  • 4.2 Tạo CSDL với SQLITE (41)
    • 4.2.1 Sơ đồ quan hệ (41)
    • 4.2.2 Chi tiết các bảng (41)
  • 4.3 Lập trình CSDL (SQLite+Model+DAO) (44)
    • 4.3.1 SQLite (44)
    • 4.3.2 Model Class và DAO (47)
  • 4.4 Lập trình chức năng (50)
    • 4.4.1 Màn hình chính (MainActivity) (50)
    • 4.4.2 Các giao diện hỗ trợ (50)
    • 4.4.3 Các màn hình quản lý (51)
    • 4.4.4 MÀN HÌNH THỐNG KÊ (51)
  • 5.1 LoginActivity (52)
  • 5.2 NhanVienFragment (52)
  • 6.1 Sản phẩm phần mềm (52)
  • 6.2 Hướng dẫn cài đặt (52)
  • 7.1 Khó khăn (53)
  • 7.2 Thuận lợi (53)

Nội dung

Mỗi chức năng cần mô tả những vấn đề sau: Chức năng quản lý Loại Giầy được sử dụng để quản lý thông tin loại giầy.. Yêu cầu của chức năng này là liệt kê danh sách loại giầy, xem thông ti

Giới thiệu TBSD_SNEAKER

 Cửa Hàng Giầy Sneaker có tên là TBDS_SNEAKER là một cửa hàng nhỏ, chuyên về các loại giầy phục vụ cho các bạn trẻ như: “NIKE”, “FAKE”,

 Việc quản lý hiện đang được quản lý trên sổ sách bằng tay.

 Công việc hiện tại đã gây khó khan cho cửa hàng, tốn thời gian ghi chép, và sai sót cho nhiều thông kê.

Yêu cầu của TBSD_SNEAKER

TBSD_SNEAKER cần phát triển một ứng dụng di động nhằm hỗ trợ chủ shop trong việc quản lý hiệu quả hơn, với các tính năng đáp ứng nhu cầu quản lý kinh doanh.

+ Quản lý khách hàng Thống kê:

+ Thống kê Top10 sản phẩm mua nhiều nhất.

+ Thống kê doanh thu theo thời gian tuỳ chọn (từ ngày – đến ngày).

+ Muốn truy cập vào ứng dụng, nhân viên và admin phải đăng nhập.

+ Nhân viên và admin có quyền thay đổi mật khẩu.

+ Admin có quyền quản lý nhân viên

+ Ứng dụng cài đặt trên điện thoại chạy hệ điều hành Android.

+ Hệ quản trị CSDL: SQLite.

Lập kế hoạch dự án

 Lập kế hoạch kế hoạch dự án theo mẫu sau

TT H ẠNG MỤC B ẮT ĐẦU K ẾT THÚC K ẾT QUẢ

1 Phân tích yêu cầu khách hàng

1.1 Vẽ sơ đồ use cases

2.1 Thiết kế mô hình công nghệ

4.1 Xây dựng kịch bảng kiểm thử

2 PHÂN TÍCH YÊU CẦU KHÁCH HÀNG

 Tiến hành phân tích yêu cầu khách hàng theo các bước sau đây

Sơ đồ Use Case

Thông Kê Doanh Thu

Yêu cầu của chức năng này là thống kê doanh thu mà cửa hàng bán được thông qua ứng dụng trong 1 khoảng thời gian chỉ định

Thông tin của thống kê gồm: Ngày bắt đầu, Ngày kết thúc, Tổng doanh thu từ ngày bắt đầu đến ngày kết thúc

 Sau khi đăng nhập thì tất cả người dùng có thể sử dụng chức năng này.

Thông Kê Top

Chức năng Thống Kê TOP được sử dụng để thống kê TOP10 sản phẩm được mua nhiều nhất.

Thông tin của thống kê gồm: tên sản phẩm, số lượng mua.

Sau khi đăng nhập thì tất cả người dùng có thể sử dụng chức năng này.

Chức năng quản lý Khách Hàng giúp tổ chức và quản lý thông tin khách hàng một cách hiệu quả Nó bao gồm các yêu cầu như liệt kê danh sách khách hàng, xem thông tin chi tiết từng khách, thêm mới khách hàng, cập nhật thông tin hiện có, và xóa khách hàng không còn tồn tại.

Thông tin của Khách Hàng gồm: mã khách hàng, tên khách hàng, địa chỉ, sđt.

Sau khi đăng nhập thì tất cả người dùng có thể sử dụng chức năng này.

Sơ đồ triển khai và yêu cầu hệ thống

Sơ đồ triển khai

 Đưa ra mô hình triển khai của ứng dụng trong thực tế

Yêu cầu hệ thống

 Liệt kê các phần cứng, phần mềm cần thiết để hệ thống thực hiện được

+ Tất cả mọi nhân viên phải đăng nhập mới sử dụng được phần mềm.

+ Admin được thực hiện tất cả các chức năng.

+ Nhân viên không được thực hiện quản lý nhân viên của tiệm.

+ Ứng dụng phải được thực hiện trên Adroid.

+ Hệ quản trị CSDL: SQLite

 Dựa vào tài liệu đã phân tích ở mục 2 để phác thảo: o Mô hình công nghệ o Giao diện o Thực thể

Mô hình công nghệ ứng dụng

 Phác thảo mô hình công nghệ ứng dụng của hệ thống phần mềm Giải thích rõ các thành phần trong mô hình

Thực thể

Sơ đồ quan hệ thực thể (ERD)

 Vẽ sơ đồ thể hiện mối quan hệ giữa các thực thể Nên chia thành 2 mức

(tổng quát và chi tiết) để dễ đọc, dễ hiểu.

Chi tiết thực thể

Thiết kế chi tiết thực thể đề cập đến việc xác định và thiết kế các thuộc tính cần thiết cho từng thực thể, dựa trên thông tin từ phần dữ liệu liên quan trong tài liệu yêu cầu phần mềm (SRS).

MaLoaiGiay INT Mã Loại Giầy

TenLoaiGiay String Tên Loại Giầy

MaLoaiGiay INT Mã Loại Giầy

GiaMua String Giá Mua Giầy

MoTa String Mô Tả Giầy

MaNV INT Mã Nhân Viên

UserName String Tên Đăng Nhập

HoTen String Họ Tên Nhân Viên

MatKhau String Mật khẩu Nhân Viên

SDT INT Số Điện Thoại Nhân Viên

DiaChi String Địa Chỉ Nhân Viên

MaHD INT Mã Hóa Đơn

MaNV INT Mã Nhân Viên

DiaChi String Địa Chỉ Đặt Hàng

Gía INT Tổng Gía Hóa Đơn

TrangThai INT Thanh Toán và Chưa Thanh Toán

MaKH INT Mã Khách Hàng

HoTen String Họ Tên Khách Hàng

SĐT String Số điện thoại

Giao diện

Sơ đồ tổ chức giao diện

 Phác thảo sơ đồ liên kết giữa các giao diện chức năng trong ứng dụng

Giao diện MÀN HÌNH CHÍNH

 Phác thảo giao diện cho màn hình chính và mô tả các hoạt động trên giao diện

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 Navigation Drawer Vuốt từ trái/

Click Menu icon Show Navigation Drawer

3 [nav_LoaiGiay] Click Chuyển Fragment_LoaiGiay

4 [nav_Giay] Click Chuyển Fragment_Giay

5 [nav_NhanVien] Click Chuyển Fragment_Người Dùng

6 [nav_ThongKe] Click Chuyển Fragment_ThongKe

7 [nav_HoaDon] Click Chuyển Fragment_HoaDon

8 [nav_doanhThu] Click Chuyển Fragment_DoangThu

9 BottomNavigation Click Chuyển Fragment Tương Ứng

Giao diện quản lý

 Phác thảo giao diện cho tất cả các cửa sổ chức năng và các cửa sổ hỗ trợ tổ chức

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 Lv Click Chỉnh Sửa Hóa Đơn

3 Btt_nav Click Chuyển Fragment

3.3.3.2 Màn hình quản lý Loại Sản Phẩm

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 BTN _ THEM C LICK T HÊM LOẠI MỚI

2 IMGDELETE CLICK X ÓA LOẠI CẦN XÓA

3 LV N HẤN G IỮ C HỈNH S ỦA L OẠI

4 btt_nav Click Chuyển Fragment

3.3.3.3 Màn hình quản lý Sản Phẩm

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 BTN _ THEM C LICK T HÊM MỚI

2 IMGDELETE CLICK X ÓA CẦN XÓA

3 LV N HẤN G IỮ C HỈNH S ỦA

4 btt_nav Click Chuyển Fragment

3.3.3.4 Màn hình quản lý Nhân Viên

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 BTN _ THEM C LICK T HÊM MỚI

2 IMGDELETE CLICK X ÓA CẦN XÓA

3 LV N HẤN G IỮ C HỈNH S ỦA

3.3.3.5 Màn hình thống kê Doanh Thu

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 BTN _ DAU CLICK HIỆN RA THỜI MỐC ĐẦU ĐỂ THỐNG KÊ

2 BTN _ DUOI CLICK HIỆN RA THỜI GIAN C UỐI ĐỂ T HỐNG K Ê

3 BTN D OANH T HU C LICK T HỐNG K Ê RA T ỔNG D OANH T HU

3.3.3.6 Màn hình Quản Lý Khách Hàng

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 BTN_XOA CLICK X ÓA CẦN XÓA

3 BTT _ NAV CLICK CHUYỂN FRAGMENT

4 LV NHẤN GIỮ CHỈNH SỬA

Các giao diện hỗ trợ khác

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

K HI VÀO ỨNG DỤNG SẼ CHUYỂN SANG MÀN HÌNH TIẾP THEO TRONG VÀI GIÂY

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 ED _ TK NHẬP TÊN ĐĂNG NHẬP S Ử D ỤNG C HO ỨNG DỤNG

2 ED _ MK NHẬP MẬT KHẨU S Ử D ỤNG C HO ỨNG DỤNG

CLICK KHI NHẬP THÔNG TIN BÊN TRÊN SẼ KIỂM TRA ĐỂ VÀO ỨNG DỤNG

3.3.4.3 Màn hình đổi mật khẩu

TT @ID S Ự KIỆN M Ô TẢ HOẠT ĐỘNG

1 BTN _ LUU CLCIK KHI NHẬP THÔNG TIN ĐÃ YÊU CẦU BÊN TRÊN SẼ ĐỔI

MẬT KHẨU CHO NGƯỜI DÙNG

2 BTN _ HUY CLICK SẼ HỦY THAO TÁC THAY ĐỔI MẬT KHẨU NGƯỜI DÙNG

Tạo giao diện

Màn hình chính (MainActivity)

G IAO DIỆN Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

D RAWER L AYOUT DRAWER _ LAYOUT LAYOUT _ WIDTH =" MATCH _ PARENT "

C ONSTRAINT L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

F RAME L AYOUT FL C ONTENT LAYOUT _ WIDTH =" MATCH _ PARENT "

N AVIGATION V IEW NV V IEW MENU ="@ MENU / DRAWER _ VIEW "

HEADER L AYOUT ="@ LAYOUT / NAV _ HEADER "

B OTTOM N AVIGATION V IEW BTT _ NAV MENU ="@ MENU / MENU _ BOTTOM ” "

Các màn hình quản lý

4.1.2.1 Màn hình Hóa Đơn(fragment_hoadon)

Giao diện Đ ẶT TÊN CÁC ĐIỀU KHIỂN

VIEW ID C ÁC THUỘC TÍNH

F RAME L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

F LOATING A CTION B UTTON FAB ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

4.1.2.2 Màn hình quản lý Loại Giày(fragment_loai_giay)

G IAO DIỆN Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

F RAME L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

F LOATING A CTION B UTTON FAB ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

4.1.2.3 Màn hình quản lý Giày (fragment_giay)

Giao diện Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

B OTTOM N AVIGATION V IEW BTT _ NAV MENU ="@ MENU / MENU _ BOTTOM ” "

F RAME L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

4.1.2.4 Màn hình quản lý Khách

Giao diện Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

F RAME L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

F LOATING A CTION B UTTON FAB ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

Màn hình thống kê top 10 (fragment_top)

G IAO DIỆN Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

F RAME L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

L IST V IEW ANDROID : ID ="@+ ID / LV T OP " ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

Màn hình thống kê doanh thu (fragment_doanh_thu)

G IAO DIỆN Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

L INEAR L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT " ANDROID : ORIENTATION =" VERTICAL "

L INEAR L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

B UTTON ANDROID : ID ="@+ ID / BTN D OANH T HU

ANDROID : ID ="@+ ID / BTN D EN N GAY "

ANDROID : ID ="@+ ID / BTN T U N GAY "

ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

E DIT T EXT ANDROID : ID ="@+ ID / ED D EN N GAY "

ANDROID : ID ="@+ ID / ED T U N GAY "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

T EXT V IEW ANDROID : ID ="@+ ID / TV D OANH T HU " ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

Các giao diện hỗ trợ khác

4.1.5.1 Màn hình chào (activity_splash_screen)

G IAO DIỆN Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

F RAME L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

I MAGE V IEW ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

4.1.5.2 Màn hình đăng nhập (activity_login)

Giao diện Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

L INEAR L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

I MAGE V IEW ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

E DIT T EXT ED U SER N AME

ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

C HECK B OX CHK R EMEMBER P ASS

ANDROID:LAYOUT_WIDTH="MATCH_PARENT" ANDROID:LAYOUT_HEIGHT="MATCH_PARENT"

B UTTON BTN L OGIN ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

4.1.5.3 Màn hình Nhân Viên (fragment_nhanvien)

Giao diện Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

L INEAR L AYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

LISTVIEW LVNHANVIEN ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT "

ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

4.1.5.4 Màn hình đổi mật khẩu (fragment_change_pass)

G IAO DIỆN Đ ẶT ID CÁC VIEW

VIEW ID C ÁC THUỘC TÍNH

L INEARLAYOUT ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" MATCH _ PARENT " ANDROID : ORIENTATION =" VERTICAL "

IMAGE ANDROID : ID ="@+ ID / IMAGE V IEW " ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ GRAVITY =" CENTER | TOP "

T EXT I NPUT E DIT T EXT ANDROID : ID ="@+ ID / ED P ASS N EW "

ANDROID : LAYOUT _ WIDTH =" MATCH _ PARENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT "

ANDROID : ID ="@+ ID / ED P ASS O LD " ANDROID : INPUT T YPE =" TEXT P ASSWORD "

B UTTON ANDROID : ID ="@+ ID / BTN C ANEL "

ANDROID : ID ="@+ ID / BTN S AVE "

ANDROID : LAYOUT _ WIDTH =" WRAP _ CONTENT "

ANDROID : LAYOUT _ HEIGHT =" WRAP _ CONTENT " ANDROID : LAYOUT _ WEIGHT ="1"

Tạo CSDL với SQLITE

Sơ đồ quan hệ

 Hình: Sơ đồ quan hệ

 Ràng buộc: Mô tả ràng buộc của các quan hệ

Chi tiết các bảng

 Mỗi bảng cần viết theo hướng dẫn sau đây:

T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ

Bảng dữ liệu nhân viên bao gồm các trường: Mã Nhân Viên (MaNV INT PK), Tên Nhân Viên (tenNV TEXT NOT NULL), Số Điện Thoại (sdtNV INT NOT NULL), Tên Đăng Nhập (name TEXT NOT NULL) và Mật Khẩu (matKhau TEXT NOT NULL).

"matKhau TEXT NOT NULL)"; db.execSQL(createTableNhanVien);

Basic SQL commands include inserting a new employee record with `db.insert("NhanVien", null, values);`, updating an existing employee's information using `db.update("NhanVien", values, "maNV=?", new String[]{obj.maNV});`, and deleting a record with `db.delete("NhanVien", "maNV=?", new String[]{id});` Additionally, you can retrieve specific employee details with `db.execSQL("SELECT * FROM NhanVien WHERE maNV=?", new String[]{obj.maNV});` or fetch all employee records using `db.execSQL("SELECT * FROM NhanVien");`.

Cột dữ liệu "maKH" là mã khách hàng, "tenKH" chứa tên khách hàng, "sdtKH" lưu trữ số điện thoại khách hàng, và "diaChi" ghi nhận địa chỉ khách hàng Tất cả các trường này đều không cho phép giá trị null, đảm bảo tính đầy đủ và chính xác của thông tin khách hàng.

"diaChi TEXT NOT NULL ) "; db.execSQL(createTableKhachHang);

Basic SQL commands include inserting a new customer with `db.insert("KhachHang", null, values)`, updating customer information using `db.update("KhachHang", values, "maKH=?", new String[]{obj.maKH})`, and deleting a customer record with `db.delete("KhachHang", "maKH=?", new String[]{id})` Additionally, you can retrieve specific customer details with `db.execSQL("SELECT * FROM KhachHang WHERE maKH=?", new String[]{obj.maKH})` or fetch all customer records using `db.execSQL("SELECT * FROM KhachHang")`.

T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ maLoaiGiay INT PK Mã Loại Giày tenLoaiGiay TEXT NOT NULL Tên Loại Giày

"tenLoaiGiay TEXT NOT NULL)" ; db.execSQL(createTableLoaiGiay);

Basic SQL commands include inserting a new record into the "LoaiGiay" table with `db.insert("LoaiGiay", null, values);`, updating an existing record using `db.update("LoaiGiay", values, "maLoaiGiay=?", new String[]{obj.maLoaiGiay});`, and deleting a record with `db.delete("LoaiGiay", "maLoaiGiay=?", new String[]{id});` Additionally, you can retrieve data from the "LoaiGiay" table using `db.execSQL("SELECT * FROM LoaiGiay WHERE maLoaiGiay=?", new String[]{});`.

{obj.maLoaiGiay}); db.execSQL(“ SELECT * FROM LoaiGiay”);

Cột kiểu dữ liệu ràng buộc cho bảng giày bao gồm các trường như mã giày (INT PK), tên giày (tenGiay TEXT NOT NULL), giá mua giày (giaMua INT NOT NULL), mô tả giày (moTa TEXT NOT NULL), số lượng trong kho (soLuong TEXT NOT NULL) và mã loại giày (maLoaiGiay INT FK).

LoaiGiay(maLoaiGiay))"; db.execSQL(createTableGiay);

Basic SQL commands include inserting data with `db.insert("Giay", null, values);`, updating records using `db.update("Giay", values, "maGiay=?", new String[]{obj.mGiay});`, and deleting entries with `db.delete("Giay", "maGiay=?", new String[]{id});` Additionally, you can retrieve specific records with `db.execSQL("SELECT * FROM Giay WHERE maGiay=?", new String[]{obj.maGiay});` or fetch all records using `db.execSQL("SELECT * FROM Giay");`.

Trong cơ sở dữ liệu, bảng chứa các thông tin quan trọng liên quan đến hóa đơn mua hàng Các cột bao gồm: maHD (Mã Hóa Đơn), maNV (Mã Nhân Viên), maKH (Mã Khách Hàng), maGiay (Mã Giày), ngayMua (Ngày Mua), trangThai (Trạng Thái), và giaMua (Giá Mua) Trong đó, maHD là khóa chính, còn các mã nhân viên, khách hàng và giày là khóa ngoại Ngày Mua là kiểu dữ liệu DATE không cho phép giá trị NULL, và Trạng Thái cùng Giá Mua là các trường bắt buộc với kiểu dữ liệu INT.

"maGiay INTEGER REFERENCES Giay(maGiay),

"giaMua INTEGER NOT NULL)"; db.execSQL(createTableHoaDon);

Basic SQL commands include inserting data into a table with `db.insert("HoaDon", null, values);`, updating existing records using `db.update("HoaDon", values, "maHD=?", new String[]{obj.maHD});`, and deleting entries with `db.delete("HoaDon", "maHD=?", new String[]{id});` Additionally, retrieving specific records can be done using `db.execSQL("SELECT * FROM HoaDon WHERE maHD=?", new String[]{obj.maHD});` or fetching all entries with `db.execSQL("SELECT * FROM HoaDon");`.

Lập trình CSDL (SQLite+Model+DAO)

SQLite

 Hướng dẫn sử dụng các phương thức tiện ích của SQLiteOpenHelper

 Code DbHelper kế thừa SQLiteOpenHelper

SQLiteOpenHelper là lớp tiện ích hỗ trợ lập trình Android với SQLite Khi kế thừ

Lớp này cần ghi đè 2 phương thức được mô tả trong phần hướng dẫn sử dụng sau đây.

 onCreate(SQLiteDatabase db): chứa các lệnh tạo table (có thể chèn dữ liệu test)

 onUpgrade(SQLiteDatabase db, int i, int i1): chứa các lệnh xoá table và gọi lại onCreate khi nâng version

PUBLIC VOID ON C REATE (SQL ITE D ATABASE DB ) {

"maNV INTEGER PRIMARY KEY AUTOINCREMENT, " +

"matKhau TEXT NOT NULL)"; db.execSQL(createTableNhanVien);

"maKH INTEGER PRIMARY KEY AUTOINCREMENT, " +

"diaChi TEXT NOT NULL ) "; db.execSQL(createTableKhachHang);

"tenLoaiGiay TEXT NOT NULL)" ; db.execSQL(createTableLoaiGiay);

"maGiay INTEGER PRIMARY KEY AUTOINCREMENT, " +

LoaiGiay(maLoaiGiay))"; db.execSQL(createTableGiay);

"maHD INTEGER PRIMARY KEY AUTOINCREMENT, " +

"maNV INTEGER REFERENCES NhanVien(maNV), " +

"maKH INTEGER REFERENCES KhachHang(maKH), "+

"maGiay INTEGER REFERENCES Giay(maGiay), "+

"giaMua INTEGER NOT NULL)"; db.execSQL(createTableHoaDon);

PUBLIC VOID ON U PGRADE (SQL ITE D ATABASE DB , INT OLD V ERSION , INT

S TRING DROP T ABLE N HAN V IEN = " DROP TABLE IF EXISTS N HAN V IEN ";

DB EXEC SQL( DROP T ABLE N HAN V IEN );

S TRING DROP T ABLE K HACH H ANH = " DROP TABLE IF EXISTS K HACH H ANH ";

DB EXEC SQL( DROP T ABLE K HACH H ANH );

S TRING DROP T ABLE L OAI G IAY = " DROP TABLE IF EXISTS L OAI G IAY ";

DB EXEC SQL( DROP T ABLE L OAI G IAY );

S TRING DROP T ABLE G IAY = " DROP TABLE IF EXISTS G IAY ";

DB EXEC SQL( DROP T ABLE G IAY );

S TRING DROP T ABLE H OA D ON = " DROP TABLE IF EXISTS H OA D ON ";

DB EXEC SQL( DROP T ABLE H OA D ON );

Model Class và DAO

 Mỗi mục cần làm rõ 2 vấn đề sau o Mô hình và mô tả lớp thực thể o Mô hình và mô tả lớp DAO

NhanVien Là lớp thực thể mô tả dữ liệu Nhân Viên

Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng Nhân Viên

KhachHang Là lớp thực thể mô tả dữ liệu KhachHang

Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng KhachHang

LoaiGiay Là lớp thực thể mô tả dữ liệu LoaiGiay

LoaiGiayDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng

Giay Là lớp thực thể mô tả dữ liệu Giay

GiayDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng

HoaDon Là lớp thực thể mô tả dữ liệu HoaDon

HoaDonDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng

Lập trình chức năng

Màn hình chính (MainActivity)

TT P HƯƠNG THỨC / SỰ KIỆN M Ô TẢ

2 setSupportActionBar() Sử dụng toolbar setOnNavigationItemSelectedListener() Điều hướng BottomNavigation

Các giao diện hỗ trợ

1 Handler().postDelayed() Chuyển Activity trong thời gian chỉ định

4.4.2.2 Màn hình đăng nhập (LoginActivity)

1 checkLogin() Kiểm Tra Điều Kiện Để Đăng Nhập

2 SharedPreferences Lưu trữ và truy xuât dữ liệu

4.4.2.3 Màn hình đổi mật khẩu (ChangePassFragment)

1 validate() Kiểm Tra Điều Kiện Thông Tin Nhập

2 SharedPreferences Lưu trữ và truy xuât dữ liệu

4.4.2.4 Màn hình Nhân Viên (NhanVienFragment)

1 validate() Kiểm Tra Điều Kiện

3 capNhatLv() GetAll() và cập nhật dữ liệu lên ListView

Các màn hình quản lý

1 validate() Kiểm Tra Điều Kiện

3 capNhatLv() GetAll() và cập nhật dữ liệu lên ListView

1 validate() Kiểm Tra Điều Kiện

3 capNhatLv() GetAll() và cập nhật dữ liệu lên ListView

1 validate() Kiểm Tra Điều Kiện

3 capNhatLv() GetAll() và cập nhật dữ liệu lên ListView

4 OnDateSetListener Kiểu Định Dạng Cho Thời Gian

MÀN HÌNH THỐNG KÊ

1 setAdapter Hiện Thị Dự Liệu

1 DatePickerDialog Lấy Thời Gian Và Định Dạng

2 setOnClickListener Tạo Sự Kiện Khi Click

5 KIỂM THỬ PHẦN MỀM VÀ SỬA LỖI

LoginActivity

M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX

1 Đăng nhập Bỏ Trống Yêu cầu nhập ok

2 Đăng nhập sai tên Teo, admin Sai tên đăng nhập ok

3 Đăng nhập sai mật khẩu admin, 123 Sai mật khẩu ok

4 Đăng nhập đúng admin, admin Longin thành công ok

NhanVienFragment

H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX

1 Thêm Người Dùng Bỏ Trống Bạn phải nhập đầy đủ thông tin

2 Thêm Người Dùng Nhập Đầy Đủ bạn thêm thành công Ok

3 Sửa Người Dùng Nhập Đầy Đủ Bạn đã sửa thành công

4 Xóa Người Dùng Hiện thị hộp thoại xác nhận xóa Bạn đã xóa thành công Ok

M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX

1 Thay đổi mật khẩu Bỏ Trống Bạn phải nhập đầy đủ thông tin Ok

2 Nhập sai mật khẩu cũ Pass cũ không đúng Mật khẩu cũ sai Ok

3 Nhập sai mật khẩu mới Mật khẩu mới không đúng Mật khẩu mới không trùng khớp

4 Thay đổi mật khẩu Thông tin đầy đủ và chính xác

Mật khẩu thay đổi thành công ok

6 ĐÓNG GÓI VÀ TRIỂN KHAI

Sản phẩm phần mềm

1 TBDS_SNEAKER.apk File cài đặt

2 Readme.txt Hướng dẫn cài đặt

3 Guide.docx Hướng dẫn sử dụng

Hướng dẫn cài đặt

 Bước 1: Download file về máy.

 Bước 2: Nhấn vào file để cài đặt.

 Bước 3: Mở file đã cài đặt và chạy.

Khó khăn

Ngày đăng: 23/12/2024, 17:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w