Sử dụng dịch vụ Web trong Android

Một phần của tài liệu xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services (Trang 36)

Hình 2.19Gửi yêu cầu và nhận kết quả từ dịch vụ Web sử dụng HttpTransport - Để có thể sử dụng các phương thức Web trong Android không gặp lỗi, cần lưu ý:

 Import thư viện kSoap vào trong ứng dụng.

 Xác định chính xác Namespace, tên phương thức Web, các tham số nếu có, tên các kết quả trả về trong dịch vụ Web (phân biệt chữ hoa và chữ thường).

 Sử dụng đa tiến trình để gửi các yêu cầu lên server và nhận kết quả trả về.

 Phân biêt kiểu dữ liệu của tham số: các kiểu dữ liệu cơ bản hay là một đối tượng.

26 - Ví dụ: hiển thị thông tin các thành viên.

27

- Danh sách thành viên truy xuất từ phương thức trên Web

28

- Gửi yêu cầu và hiển thị danh sách thành viên trong Android.

 Các thành phần cần xác định:

o Namespace: http://qlnhatro.somee.com/

o Tên phương thức Web: danhsachTV

o Tên các tham số: không có

o Kết quả trả về: mỗi một kết quả gồm MATV, MATKHAU, NGAYSINH, GIOITINH, DIACHI, EMAIL, SDT, QUYENSD.

 Xây dựng phương thức lấy danh sách hiển thị từ dịch vụ Web.

o methodName: là tên phương thức Web.

o Kết quả trả về là danh sách nên sử dụng SoapObject, nếu kết quả trả về là một giá trị thì sử dụng SoapPrimitive.

o (SoapObject) ((SoapObject) array.getProperty(1)).getProperty(0): lấy tất các các giá trị trong Datatable từ kết quả trả về của dịch vụ Web.

29

 Gọi phương thức Web và hiển thị dữ liệu

o Sử dụng đa tiến trình để gửi yêu cầu và hiển thị dữ liệu

Khi gọi một phương thức trong dịch vụ Web, cần phải kết nối Internet. Vì vậy, phải sử dụng đa tiến trình khi gửi yêu cầu lên dịch vụ Web, nếu không ứng dụng sẽ bị lỗi.

Hình 2.23Sử dụng đa tiến trình khi gửi yêu cầu

30

31

o Kết quả sau khi gọi phương thức danhsachTV từ dịch vụ Web.

Hình 2.26Hiển thị dữ liệu từ kết quả trả về của dịch vụ Web

32 2.3.5. Thư viện kSoap trong Android [1,3]

KSOAP là một bộ API được phát triển để hỗ trợ các thiết bị chạy nền Java (Java-based device) trong đó có thiết bị Android có thể giao tiếp được với web service sử dụng phương thức truyền đạt thông điệp bằng các gói SOAP (bao gồm SOAP v1.1 và SOAP v1.2), hỗ trợ ngôn ngữ WSDL như một phần không thể thiếu và tách rời. WSDL cung cấp một chuẩn mực chung cho các Web service, khiến cho việc liên lạc, truyền – nhận thông điệp giữa các thiết bị client và web service diễn ra nhanh, gọn, tính tương thích cao.

KSOAP2 sử dụng phương pháp liên lạc trực tiếp, tức là thông điệp được gói trong một đối tượng SOAP, truyền trực tiếp giữa ứng dụng client và web service, như đã đề cập ở trên. Phương pháp này được ưa chuộng bởi sự nhanh lẹ, không cần một trạm trung gian trong quá trình truyền tải thông điệp. (adsbygoogle = window.adsbygoogle || []).push({});

 Các gói thư viện trong kSOAP2 - org.ksoap2.

- org.ksoap2.serialization. - org.ksoap2.servlet. - org.ksoap2.transport.

33

Chương 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. MÔ HÌNH ER

Mô hình gồm các bảng THANHVIEN, NHATRO, PHONGTRO, KHUYENMAI, LOAIPHONG, DATPHONG.

34

3.2. TẬP THỰC THỂ

- THANHVIEN

- Thành viên bao gồm mã thành viên, mật khẩu, ảnh đại diện, tên thành viên, ngày sinh, giới tính, địa chỉ, email, số điện thoại, quyền sử dụng.

- Lưu thông tin tài khoản đăng ký của các thành viên, tùy vào quyền sử dụng khác nhau mà thành viên có thể thực hiện các chức năng khác nhau:

- Người quản trị: xem, xóa thông tin các thành viên, nhà trọ, khuyến mãi. - Chủ nhà trọ: xem, cập nhật thông tin nhà trọ, khuyến mãi của bản thân, quản

lý đặt phòng và xử lý các yêu cầu của khách hàng.

- Khách hàng: xem thông tin nhà trọ, khuyến mãi, danh sách các phòng còn trống, gửi yêu cầu đăng ký đặt phòng cũng như hủy yêu cầu đặt phòng. Bảng 3.1 Mô tả tập thực thể thành viên

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa chính

Khóa ngoại 1 MATV Mã thành viên Nvarchar(255) X

2 MATKHAU Mật khẩu Nvarchar(256) 3 ANHDAIDIEN Ảnh đại diện Nvarchar(256) 4 TENTV Tên thành viên Nvarchar(150) 5 NGAYSINH Ngày sinh Date

6 GIOITINH Giới tính Integer

7 DIACHI Địa chỉ Nvarchar(150) 8 EMAIL Email Nvarchar(150) 9 SDT Số điện thoại Nvarchar(11) 10 QUYENSD Quyền sử dụng Nvarchar(50)

- NHATRO

- Nhà trọ gồm mã nhà trọ, mã thành viên, tên nhà trọ, vĩ độ, kinh độ và địa chỉ. - Lưu thông tin nhà trọ, xác định vị trí nhà trọ trên bản đồ thông qua thuộc tính

vĩ độ và kinh độ.

Bảng 3.2 Mô tả tập thực thể nhà trọ

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa chính Khóa ngoại Ghi chú 1 MANT Mã nhà trọ Int X

2 MATV Mã thành viên Nvarchar(255) X 3 TENNT Tên nhà trọ Nvarchar(255)

4 VIDO Vĩ độ float 5 KINHDO Kinh độ float

35 - PHONGTRO

- Phòng trọ gồm mã phòng trọ, mã loại phòng, mã nhà trọ, tên phòng trọ, giá phòng và tình trạng.

- Lưu thông tin phòng trọ, chia thành ba loại: phòng trọ đã có yêu cầu đăng ký đặt phòng, phòng trọ còn trống và phòng trọ đã được thuê.

Bảng 3.3 Mô tả tập thực thể phòng trọ (adsbygoogle = window.adsbygoogle || []).push({});

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa chính Khóa ngoại Ghi chú 1 MAPT Mã phòng trọ Int X

2 MALP Mã loại phòng Int X

3 MANT Mã nhà trọ Int X

4 TENPHONG Tên phòng Nvarchar(255) 5 GIAPHONG Giá phòng Double 6 TINHTRANG Tình trạng Int

- KHUYENMAI

- Khuyến mãi gồm mã khuyến mãi, mã nhà trọ, ngày bắt đầu khuyến mãi, ngày kết thúc khuyến mãi và nội dung khuyến mãi.

- Lưu thông tin khuyến mãi của nhà trọ. Bảng 3.4 Mô tả tập thực thể khuyến mãi

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa chính

Khóa ngoại

Ghi chú 1 MAKM Mã khuyến mãi Int X

2 MANT Mã nhà trọ Int X

3 NGAYBD Ngày bắt đầu Date 4 NGAYKT Ngày kết thúc Date

5 NOIDUNG Nội dung Nvarchar(256)

- LOAIPHONG

- Loại phòng gồm mã loại phòng và tên loại phòng.

- Lưu thông tin về các mức giá khác nhau của phòng trọ, giúp cho khách hàng tìm nhanh chóng và chính xác hơn theo từng loại.

Bảng 3.5 Mô tả tập thực thể loại phòng

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa chính

Khóa ngoại

Ghi chú 1 MALP Mã loại phòng Int X

36 - DATPHONG

- Đặt phòng gồm mã thành viên, mã phòng trọ, ngày đặt phòng, ngày bắt đầu ở và xác nhận đặt phòng.

- Lưu thông tin đặt phòng của khách hàng và chủ nhà trọ có thể xác nhận cho khách hàng đăng ký đặt phòng được thuê phòng thông qua xác nhận đặt phòng. Bảng 3.6 Mô tả tập thực thể đặt phòng

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa chính

Khóa ngoại

Ghi chú 1 MATV Mã thành viên Int X X

2 MAPT Mã phòng trọ Int X X 3 NGAYDAT Ngày đặt Date

4 NGAYBD Ngày bắt đầu Date 5 XACNHANDP Xác nhận đặt phòng Int

37

3.3. MÔ HÌNH USE CASE (adsbygoogle = window.adsbygoogle || []).push({});

- Người quản trị

Hình 3.2 Mô hình use case người quản trị - Xem, tra cứu thông tin nhà trọ, thành viên, khuyến mãi. - Xóa thông tin nhà trọ, thành viên, khuyến mãi.

- Cập nhật thông tin tài khoản cá nhân. - Tìm vị trí nhà trọ trên bản đồ, chỉ đường.

38 - Chủ nhà trọ

Hình 3.3 Mô hình use case chủ nhà trọ

- Hiển thị danh sách nhà trọ, khuyến mãi của mình. - Thêm, xóa, cập nhật thông tin nhà trọ, khuyến mãi.

- Xử lý yêu cầu đặt phòng của khách hàng, xóa khách hàng thuê phòng trọ. - Cập nhật thông tin tài khoản cá nhân.

39 - Khách hàng

Hình 3.4 Mô hình use case người dùng - Xem, tra cứu thông tin những nhà trọ còn phòng trống. - Đăng ký đặt phòng và hủy đăng ký đặt phòng.

- Cập nhật thông tin tài khoản cá nhân. - Tìm vị trí nhà trọ trên bản đồ, chỉ đường.

40

3.4. KỊCH BẢN

- Đăng nhập bằng ứng dụng trên Android Bảng 3.7 Kịch bản đăng nhập

Kịch bản

Tên use case Đăng nhập

Tác nhân (actor) Tài khoản thảnh viên

Mô tả Giúp người dùng đăng nhập vào chương trình. Điều kiện đầu vào Đăng nhập vào ứng dụng bằng tài khoản thành viên. Kết quả đầu ra Đăng nhập thành công vào ứng dụng, thành viên sẽ được

phân cho các quyền hạn khác nhau dựa theo quyền sử dụng khi đăng ký tài khoản.

Chuỗi sự kiện

Chọn hình ở góc trên bên trái ứng dụng. Chọn chức năng Đăng nhập.

Nhập đầy đủ thông tin gồm tên đăng nhập và mật khẩu.

Chọn nút để bắt đầu xác thực tài khoản. Đăng nhập thành công, ứng dụng sẽ tải lại các điểm nhà trọ xung quanh vị trí hiện tại trên bản theo tùy theo tài khoản

Người quản trị : hiển thị tất cả nhà trọ.

Chủ nhà trọ : hiển thị tất cả nhà trọ của bản thân. Khách hàng : hiển thị các nhà trọ còn phòng trống. Nếu đăng nhập sai, thông báo lỗi và yêu cầu nhập lại.

41 - Tìm kiếm thông tin nhà trọ trên bản đồ.

Bảng 3.8 Kịch bản tra cứu nhà trọ Kịch bản

Tên use case Tìm kiếm nhà trọ

Tác nhân (actor) Người sử dụng ứng dụng

Mô tả Giúp người sử dụng tìm kiếm nhanh chóng các nhà trọ theo yêu cầu của mình: tên hoặc địa chỉ.

Điều kiện đầu vào Nhập từ khóa tìm kiếm. (adsbygoogle = window.adsbygoogle || []).push({});

Kết quả đầu ra Hiển thị nhà trọ trên bản đồ theo từ khóa nếu có hoặc thông báo không tìm thấy.

Chuỗi sự kiện

Chọn hình kính lúp trên ứng dụng. Nhập từ khóa tìm kiếm.

Chọn tìm kiếm để bắt đầu tìm kiếm kết quả.

Nếu thành công, bản đồ hiển thị các điểm theo tọa độ khác nhau và người dùng có thể thao tác trên bản đồ.

Nếu không có kết quả, hiển thị thông báo “Không tìm thấy”.

- Quản lý đặt phòng

Bảng 3.9 Quản lý đặt phòng Kịch bản

Tên use case Quản lý đặt phòng Tác nhân (actor) Chủ nhà trọ

Mô tả Xác nhận các yêu cầu đặt phòng của khách hàng.

Điều kiện đầu vào Đăng nhập với quyền là Admin

Kết quả đầu ra Xác nhận thành công, khách hàng từ đăng ký đặt phòng trở thành người thuê phòng.

42 Chuỗi sự kiện

Đăng nhập vào ứng dụng với tài khoản Admin. Chọn “Quản lý đặt phòng”.

Chọn hình để xác nhận đặt phòng.

Thông báo kết: nếu khách hàng đã hủy đăng ký đặt phòng thi thông báo “Lỗi ! Không thể xóa”, ngược lại thông báo “Xóa thành công”.

43

Chương 4. KẾT QUẢ ĐẠT ĐƯỢC

4.1. GIAO DIỆN WEB

 Đối với người chưa đăng nhập

 Người chưa đăng nhập có thể đăng ký tài khoản thành viên bằng cách chọn trên thanh menu của trang web.

Nhập đầy đủ thông tin cá nhân và chọn . Chú ý, nếu chọn “Loại thành viên” là “Chủ nhà trọ” thì tài khoản đăng ký chỉ thực hiện được các chức năng của chủ nhà trọ, ngược lại chỉ thực hiện được chức năng của khách hàng.

Hình 4.1 Đăng ký tài khoản

 Sau khi đăng ký thành công, trang web tự động đăng nhập vào tài khoản.

44 - Trang nhà trọ

 Hiển thị tất cả thông tin của nhà trọ gồm tên nhà trọ, địa chỉ, cho biết số phòng còn trống theo một mức giá cụ thể.

Hình 4.3 Thông tin nhà trọ

 Tìm kiếm: nhập từ khóa cần tìm kiếm, trang web sẽ lọc tất cả nhà trọ có tên hoặc địa chỉ gần đúng với giá trị nhập vào.

 Tìm kiếm nhà trọ theo tên nhà trọ: nhập tên nhà trọ cần tìm và chọn hoặc enter để bắt đầu tìm kiếm.

45 (adsbygoogle = window.adsbygoogle || []).push({});

Hình 4.5 Tìm kiếm nhà trọ theo địa chỉ

- Trang khuyến mãi

 Hiển thị thông tin khuyến mãi đang diễn.

46

 Đối với người quản trị - Trang nhà trọ

 Có thể xem và tìm kiếm thông tin nhà trọ, bên cạnh đó người quản trị có thêm quyền xóa bất kỳ một nhà trọ nào.

Hình 4.7 Danh sách nhà trọ với tài khoản quản trị

 Xóa nhà trọ: chọn trong danh sách nhà trọ và chọn khi xuất hiện thông báo cần xác nhận trước khi xóa.

47 - Trang khuyến mãi

 Hiển thị thông tin các khuyến mãi đang diễn ra và đã hết thời gian khuyến mãi.

Hình 4.9 Danh sách khuyến mãi với tài khoản quản trị

 Xóa khuyến mãi: chọn biểu tượng thùng rác màu xanh dương trong danh sách khuyến mãi và chọn “Đồng ý” khi xuất hiện thông báo cần xác nhận trước khi xóa.

Hình 4.10 Xóa khuyến mãi

 Đối với khách hàng - Trang nhà trọ

 Chỉ hiển thị thông tin nhà trọ hiện tại đang còn phòng trống và khách hàng có thêm chức năng “Đặt phòng”.

48

 Sau khi có quyết định phòng trọ nào phù hợp với điều kiện của bản thân, khách hàng chọn “Đặt phòng” để gửi yêu cầu đặt phòng đến chủ nhà trọ. Cần nhập đầy đủ thông tin yêu cầu. Chọn “Đồng ý” để gửi yêu đăng ký cầu đặt phòng.

Hình 4.12 Đăng ký đặt phòng - Trang đặt phòng

 Hiển thị thông tin các yêu cầu đã gửi đi.

Hình 4.13 Danh sách yêu cầu đặt phòng của khách hàng

 Khách hàng có thể hủy đăng ký đặt phòng bằng cách chọn “Hủy đặt phòng”. Chọn “Đồng ý” để hủy đặt phòng.

49 - Trang khuyến mãi

 Tương tự như người chưa đăng nhập, chỉ hiển thị thông tin các khuyến mãi đang diễn ra.

Hình 4.15Danh sách khuyến mãi với tài khoản khách hàng

 Đối với chủ nhà trọ - Trang nhà trọ

 Hiển thị thông tin nhà trọ của mình và chủ nhà trọ có thể cập nhật hoặc xóa nhà trọ.

Hình 4.16 Danh sách nhà trọ của chủ nhà trọ

 Chọn để cập nhật thông tin nhà trọ. Nhập thông tin cần cập nhật và chọn “Đồng ý” để lưu lại.

50

Hình 4.18Kết quả sau khi cập nhật (adsbygoogle = window.adsbygoogle || []).push({});

 Chức năng xóa cũng tương tự như đối với người quản trị.

 Để biết thêm thông tin chi tiết về phòng trọ, chọn “Chi tiết”.

Hình 4.19Thông tin phòng trọ

 Chọn nút “Thêm phòng trọ” để thêm mới phòng trọ.

51

Hình 4.21Cập nhật thông tin nhà trọ

Hình 4.22Xóa nhà trọ

- Trang quản lý đặt phòng

 Hiển thị danh sách các yêu cầu của khách hàng và khách hàng thuê phòng.

52

Hình 4.24Danh sách thuê phòng

 Chọn : đồng ý cho khách hàng thuê phòng.

Hình 4.25Xác nhận đặt phòng

 Chọn : hủy bỏ yêu cầu đặt phòng của khách hàng.

53

 Chọn : không cho khách hàng tiếp tục thuê phòng.

Hình 4.27 Xóa khách hàng thuê phòng - Trang khuyến mãi

 Hiển thị thông tin khuyến mãi, thêm, xóa và cập nhật thông tin.

54

4.2. GIAO DIỆN TRÊN ANDROID

Lần đầu mở, ứng dụng sẽ hiển thị những nhà trọ gần vị trí hiện tại của mình.

Hình 4.29 Giao diện chính ứng dụng

- Chọn hoặc kéo màn hình từ trái sang phải để hiển thị thanh menu chương trình.

Tùy vào tài khoản đăng nhập mà thanh menu sẽ hiển thị danh mục khác nhau.

Một phần của tài liệu xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services (Trang 36)