1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android

59 23 0

Đ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 đề Xây Dựng Ứng Dụng Quản Lý Và Đặt Phòng Khách Sạn Trên Nền Tảng Android
Tác giả Phạm Thị Thu Hương
Người hướng dẫn TS. Nguyễn Như Sơn
Trường học Trường Đại Học Tài Nguyên Và Môi Trường Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án Tốt Nghiệp
Năm xuất bản 2017
Thành phố Hà Nội
Định dạng
Số trang 59
Dung lượng 3,14 MB

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

Nội dung

Đồ án sẽ tập trung chủ yếu xây dựng ứng dụng trên nền tảng android. Cụ thể ứng dụng sẽ giúp người dùng dễ dàng quản lý khách sạn, phía khách hàng sẽ dễ dàng chọn lựa phòng và đặt phòng nhanh chóng.Tập trung chủ yếu xây dựng ứng dụng trên nền tảng android. Cụ thể ứng dụng sẽ giúp người dùng dễ dàng quản lý khách sạn, phía khách hàng sẽ dễ dàng chọn lựa phòng và đặt phòng nhanh chóng.

Trang 1

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

ĐỒ ÁN TỐT NGHIỆP

Xây dựng ứng dụng quản lý và đặt phòng khách sạn trên nền tảng Android

Lớp

Mã SV

: :

DH3C3DH00301043

Giáo viên hướng dẫn

Ngành/Chuyên nghành

: :

TS Nguyễn Như SơnCông Nghệ Thông Tin

Hà Nội - 2017

Trang 2

LỜI CẢM ƠN

Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗtrợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác Trongsuốt thời gian từ khi bắt đầu học tập ở giảng đường Đại Học đến nay, chúng em đãnhận được rất nhiều sự quan tâm, giúp đỡ của Thầy Cô, gia đình và bạn bè

Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến Thầy Cô ở Khoa CôngNghệ Thông Tin – trường Đại học tài nguyên và môi trường Hà Nội đã cùng với trithức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trongsuốt thời gian học tập tại trường

Em xin gửi lời cảm ơn chân thành đến thầy Nguyễn Như Sơn đã tận tình hướngdẫn em hoàn thành đồ án tốt nghiệp này Em sẽ luôn trân trọng và gìn giữ những tìnhcảm tốt đẹp ấy

Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên, do chưa

có cơ hội được đi thực thế, tìm hiểu và xây dựng đồ án trong thời gian có hạn, và

kiến thức còn hạn chế, nhiều bỡ ngỡ, nên bài tập lớn này chắc chắn sẽ không thể

tránh khỏi những thiếu sót Chúng em rất mong nhận được sự quan tâm, thông cảm

và những đóng góp quý báu của các thầy cô và các bạn để đồ án này ngày càng hoàn thiện hơn

Sau cùng, chúng em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông

Tin dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là

truyền đạt kiến thức cho thế hệ mai sau

Hà Nội, tháng 04 năm 2017 Sinh viên thực hiện

Phạm Thị Thu Hương

Trang 4

MỤC LỤC

LỜI CẢM ƠN 2

MỤC LỤC 4

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu 1

3 Nội dung nghiên cứu 1

4 Phương pháp nghiên cứu 2

5 Ý nghĩa khoa học và thực tiễn của đề tài 2

6 Bố cục đề tài 2

CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID 4

1.1.Tổng quan đề tài 4

1.1.1.Khảo sát hiện trạng 4

1.1.2 Hướng giải quyết vấn đề 4

1.2 Giới thiệu Android 5

1.2.1 Android và lịch sử phát triển 5

1.2.2 Kiến trúc của Android 6

1.2.3 Các thành phần của Android 12

1.2.4 Các thành phần giao diện Widget 18

1.2.5 Bắt sự kiện trong Android 19

1.2.6 Menu 19

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 21

2.1 Phân tích yêu cầu người dùng 21

2.2 Thiết kế hệ thống 22

2.3 Usercase tổng quát 24

CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG QUẢN LÝ VÀ ĐẶT PHÒNG KHÁCH SẠN 27

3.1 Công cụ xây dựng ứng dụng 27

3.1.1 Giới thiệu Google map API 27

3.1.2 Giới thiệu về phpMyAdmin 28

Trang 5

3.1.3 Giới thiệu về Java 30

3.1.4 Giới thiệu về môi trường phát triển Android 32

3.2 Giao diện ứng dụng 34

3.2.1 Login (đăng nhập) 34

3.2.2 Đăng ký user 35

3.2.3 Chức năng người dùng 36

3.2.3 Giao diện quản trị của chủ khách sạn 37

3.2.4 Giao diện chức năng tìm kiếm khách sạn theo tiêu chí 38

3.2.6 Khách sạn có khuyến mãi 39

3.2.7 Thống kê khách sạn theo tiêu chí khoảng cách 40

3.2.8 Kiệt kê khách sạn theo đánh giá 41

3.2.9 Giao diện profile 42

3.2.10 Chức năng thêm Hotel 43

3.1.11 Giao diện chức năng xóa hotel 44

3.1.12 Giao diện chức năng add rooms 45

3.1.13 Giao diện chức năng pick rooms 46

KẾT LUẬN VÀ KIẾN NGHỊ 50

TÀI LIỆU THAM KHẢO 51

1) Sách tham khảo: 51

[1] Tác giả: Reto Meier (Xuất bản 2012), Professional Android 4 Application Development 51

[2] Tác giả: John Horton (Xuất bản ngày 30 tháng 12, 2015), Android Programming for Beginners 51

[3] Tác giả: Bill Phillips, Android Programming: The Big Nerd Ranch Guide (2nd Edition) 51

2) Trang web: 51

Trang 6

DANH MỤC HÌNH

Hình 1.1: Mô hình tổng quát các thành phần trong Android 7

Hình 1.2: Cấu trúc của Linux Kernel 7

Hình 1.3: Library and Runtime 9

Hình 1.4:Cấu trúc của Framework 10

Hình 1.5: Activity life cycler 14

Hình 1.6: Intent 15

Hình 1.7: Service life cycler 16

Hình 2.1 sơ đồ usercase tổng quát 24

Hình 3.1 Giao diện phpMyAdmin 29

Hình 3.2 Login (đăng nhập) 34

Trang 7

Hình 3.3 Đăng ký user 35

Hình 3.4 Chức năng người dùng 36

Hình 3.5 Giao diện quản trị chủ khách sạn 37

Hình 3.6 Giao diện chức năng tìm kiếm khách sạn theo tiêu chí 38

Hình 3.7 Khách sạn có khuyến mãi 39

Hình 3.8 Thống kê khách sạn theo tiêu chí khoảng cách 40

Hình 3.9 Liệt kê khách sạn theo đánh giá 41

Hình 3.10 Giao diện profile 42

Hình 3.11 Chức năng thêm hotel 43

Hình 3.12 Giao diên chức năng xóa hotel 44

Hình 3.13 Giao diện chức năng add rooms 45

Hình 3.14 Giao diện chức năng đặt phòng 46

Hình 3.15 Giao diện book rooms 1 47

Hình 3.16 Giao diện book rooms 2 48

Hình 3.16 Giao diện book rooms 3 49

Trang 8

- Nhận thấy nhu cầu đó nên em quyết định nghiên cứu và xây dựng một ứngdụng công nghệ di động vào việc quản lý khách sạn bao gồm 2 người dùng chính+ Chủ khách sạn : up khách sạn lên, quản lý phòng, xem số phòng của khách + Khách hàng : tìm khách sạn, đặt phòng khách sạn

3 Nội dung nghiên cứu

- Tập trung chủ yếu xây dựng ứng dụng trên nền tảng android Cụ thể ứng dụng

sẽ giúp người dùng dễ dàng quản lý khách sạn, phía khách hàng sẽ dễ dàng chọn lựaphòng và đặt phòng nhanh chóng

Trang 9

4 Phương pháp nghiên cứu

- Tiến hành thu thập và phân tích những thông tin, tài liệu liên quan đến đề tài

để hình thành nên những ý tưởng tổng quan (mục đích cần đạt đến của ứng dụng, đốitượng cần hướng đến là ai?, thông tin gì đã có trong tay và sử dụng chúng như thếnào?)

- Xác định các yêu cầu nhằm phân tích thiết kế hệ thống chương trình cho phùhợp

- Xây dựng ứng dụng theo những yêu cầu đã đặt ra

- Triển khai ứng dụng và đánh giá kết quả đạt được

5 Ý nghĩa khoa học và thực tiễn của đề tài

- Đề tài sẽ là một ví dụ minh họa thu nhỏ về “Xây dựng ứng dụng quản lý vàđặt phòng khách sạn trên nền tảng android”

- Đề tài sẽ giúp chủ khách tối ưu hệ thống quản lý đồng thời dễ dàng tiếp cậnkhách hàng

- Tối ưu chi phí (cho cả doanh nghiệp và người tiêu dùng), nâng cao năng lựccạnh tranh cho các doanh nghiệp trong thời kỳ phát triển

6 Bố cục đề tài

Chương 1 TỔNG QUAN

1.1 Tổng quan đề tài

1.1.1 Khảo sát hiện trạng

1.1.2 Hướng giải quyết vấn đề

1.2 Giới thiệu về android

1.2.1 Android và lịch sử phát triển

1.2.2 Kiến trúc của Android

Trang 10

1.2.3 Các thành phần của Android

Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Phân tích yêu cầu người dùng

Trang 11

CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID

1.1.Tổng quan đề tài

1.1.1.Khảo sát hiện trạng

Với đề tài “Xây dựng ứng dụng quản lý và đặt phòng khách sạn trên nềntảng android” tương đối rộng nên trong bài luận văn này sẽ tập trung chủ yếu vàoxây dựng một ứng dụng trên 1 số chức năng trọng điểm trên nền tảng android Cụthể, ứng dụng sẽ giúp người dùng dễ dàng quản lý tất cả các khách sạn trên theo địachỉ thông qua việc thêm hay xóa bất kì khách sạn nào với quyền sử dụng chủ kháchsạn Quản lý chặc chẽ từng khách sạn riêng biệt bằng việc quản lý phòng, loại phòng,giá, chính sách khuyễn mãi, khách hàng, cho phép đặt phòng trước trực tiếp trên điệnthoại Khi người dùng đặt phòng trước, thông tin về người dùng sẽ được đưa đếnkhách sạn và sẽ được xác nhận thuê phòng khi gặp trực tiếp chủ khách sạn

Bên cạnh đó, ứng dụng sẽ cho phép người dùng xem danh sách các kháchsạn trên bản đồ để dễ dàng xem thông tin khách sạn, từ đó giúp việc lựa chọn kháchsạn và đặt phòng dễ dàng hơn Ngoài ra, người dùng dễ dàng tìm thấy các khách sạntheo tỉnh hoặc một địa điểm bắt kì thông qua chức năng tìm kiếm do ứng dụng cungcấp Giúp người dùng biết đường đến điểm cần tìm, thời gian và phương tiện đithông qua chức năng chỉ đường

1.1.2 Hướng giải quyết vấn đề

Phương pháp thực hiện

Về lý thuyếtVề lý thuyết

- Nắm vững kiến thức cơ bản về lập trình android

- Trang bị kiến thức về Google Map Api

- Năm vững các phương pháp tổ chức, phân tích và thiết kế cơ sở dữ liệu

Về kỹ thuậtVề lý thuyết

- Dùng công cụ phpmyadmin để thiết kế cơ sở dữ liệu

- Dùng android Studio tạo giao diện và cấu trúc

Trang 12

- Lập trình Android

Hướng giải quyết

- Thu thập thông tin, yêu cầu và nhu cầu trên thị trường để làm cơ sở phân tích

đề tài

- Từ những thông tin thu thập được, xác định các tác nhân tác động vào hệ thống và cách thức mà tác nhân đó tác động vào để có thể phân tích chính xác và cung cấp các chức năng phù hợp với nhu cầu sử dụng

- Xây dựng cơ sở dữ liệu và các sơ đồ cần thiết

- Thiết kế giao diện dựa trên mô tả và các chức năng Xác định và hiểu rõ từng chức năng của hệ thống

- Tiến hành xây dựng ứng dụng dựa trên các giao diện và chức năng đã thiết kế

1.2 Giới thiệu Android

1.2.1 Android và lịch sử phát triển

Android là 1 nền tảng phần mềm dựa trên mã nguồn mở Linux OS (Kernel2.6) cho máy di động, máy tính bảng và những phần mềm trung gian (middleware)

Nó không đơn thuần là 1 hệ điều hành, 1 công cụ lập trình hay 1 phần mềm trunggian mà nó gồm tất cả

Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõi Linux

do công ty Android Inc (California, Mỹ) thiết kế Công ty này sau đó được Googlemua lại vào năm 2005 và bắt đầu xây dựng Android Platform

Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh thiết bị cầm tay mãnguồn mở (Open Handset Alliance) Mục tiêu của liên minh này là nhanh chóng đổimới để đáp ứng tốt hơn cho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính

là nền tảngAndroid Android được thiết kế để phục vụ nhu cầu của các nhà sản xuấtthiết, các nhà khai thác và các lập trình viên thiết bị cầm tay

Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-Mobilecũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếcsmartphone đầu tiên dựa trên nền tảng Android Một vài ngày sau đó, Google lại tiếp

Trang 13

tục công bố sự ra mắt phiên bản Android SDK release Candidate 1.0.Trong tháng 10năm 2008, Google được cấp giấy phép mã nguồn mở cho Android Platform

Khi Android được phát hành thì một trong số các mục tiêu trong kiến trúc của

nó là cho phép các ứng dụng có thể tương tác được với nhau và có thể sử dụng lạicác thành phần từ những ứng dụng khác Việc tái sử dụng không chỉ được áp dụngcho cho các dịch vụ mà nó còn được áp dụng cho cả các thành phần dữ liệu và giaodiện người dùng

Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi làAndroid Dev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràngbuộc vào các 6 nhà cung cấp mạng điện thoại di động Mục tiêu của thiết bị này làcho phép các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực cóthể chạy hệ điều hành Android mà không phải ký một bản hợp đồng nào Vàokhoảng cùng thời gian đó thì Google cũng cho phát hành một phiên vản vá lỗi 1.1của hệ điều hành này.Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý Android cố định vấn

đề này bằng cách phát hành SDK 1.5 vào tháng Tư năm 2009, cùng với một số tínhnăng khác Chẳng hạn như nâng cao khả năng ghi âm truyền thông, vật dụng, và cáclive folder

1.2.2 Kiến trúc của Android

Mô hình tổng quát các thành phần của hệ điều hành Android

Trang 14

Hình 1.1: Mô hình tổng quát các thành phần trong Android

Linux Kernel

Hệ điều hành Android được phát trển dựa trên hạt nhân linux, cụ thể là hạt nhânlinux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọi hoạtđộng của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớpnày bao 7 gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng(driver model), thực hiện bảo mật (security), quản lý tiến trình (process)

Hình 1.2: Cấu trúc của Linux Kernel

Trang 15

Tuy được phát triển dựa vào nhân linux nhưng thực ra nhân linux đã được nângcấp và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị cầm tay nhưhạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cần kết nốimạng không dây

Các thành phần của nhân Linux:

- Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhậnnhững điều khiển của người dùng lên màn hình (di chuyển, cảmứng )

- Camera Driver : Điều kiển hoạt động của camera, nhận luồng dữ liệu từcamera trả về

- Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth

- USB driver : Quản lý hoạt động của các cổng giao tiếp USB

- Keypad driver : Điều khiển bàn phím

- Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi

- Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệudạng audio thành tín hiệu số và ngược lại

- Power Madagement : Giámsát việc tiêu thụ điện năng

- M-System Driver : Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ SD,flash

- Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vôtuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thôngđược thực hiện

Library và Android Runtime

Phần này có 2 thành phần là phần Library và Android Runtime

Trang 16

Hình 1.3: Library and Runtime

- SQLite : quản lý database của ứng dụng

- Free Type : dùng cho hiển thị ảnh, font

9 - SSL(Secure Socket Layer): Tầng thiết lập giao dịch an toàn trên 2 ứng dụngtrên 1 cổng (socket)

- Open GL/EL: hỗ trợ thư viện tùy chọn 3D tĩnh và động

Trang 17

Android Runtime

Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java cóthể hoạt động Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máytính thường Thứ nhất là các thư viện lõi (Core Library) , chứa các lớp như JAVA

IO, Collections, File Access Thứ hai là một máy ảo java (Dalvik Virtual Machine).Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hànhandroid không được chạy bằng JRE(Java Runtime Environment) của Sun (nay làOracle) (JVM) mà là chạy bằng máy ảo Dalvik (máy ảo dalvik đc đặt tên sau khi 1nhà phát triển phần mềm của google tạo ra nó sau khi đi thăm 1 ngôi làngở nơi tổtiên ông sinh sống) do Google phát triển máy ảo davik thực thi cái tập tindavik(dex), khác với java là chuyển sang dạng bytecode Định dạng này được tối ưuhóa cho bộ nhớ tối thiểu

Framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhàphát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhà pháttriển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, cácdịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạngthái, và nhiều, nhiều hơn nữa

Hình 1.4:Cấu trúc của Framework

Trang 18

Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụngbởi các ứng dụng lõi Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sửdụng lại các thành phần Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệthống, bao gồm:

- View Manage:Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhaudùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout…

- Activity Manager : Quản lý các chu kỳ sống của một ứng dụng cũng như cungcấp công cụ điều khiển các Activity

- Telephony Manager : Cung cấp công cụ để thực hiện việc liên lạc như gọiđiện thoại

- Location Manager : Cho phép xác định vị trí của điện thoại thoại dựa vào

hệ thống định vị toàn cầu GPS và Google Maps

- Window Manager : Quản lý việc xây dựng và hiển thị các giao diện ngườidùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

- Notication Manager : Quản lý việc hiển thị các thông báo (như báo có tinnhắn, có e-mail mới)

- Resource Manager : Quản lý tài nguyên tĩnh của các ứng dụng bao gồm cácfile hình ảnh, âm thanh, layout, string (Những thành phần không được viết bởi ngônngữ lập trình)

- Content Provider: cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứngdụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng đó

Trang 19

dụng được cài thêm như các phần mềm chứng khoán (Stock), các trò chơi (Game),từđiển, các widget các ứng dụng của bên thứ 3…

Các ứng dụng viết sẽ có những đặc tính sau:

- Viết bằng Java, phần mở rộng là apk

- Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine đượcdựng lên để phục vụ cho nó Nó có thể là một Active Program: Chương trình cógiao diện với người sử dụng hoặc là một background: chương trình chạy nền hay

là dịch vụ

- Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thờiđiểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứng dụngthì có duy nhất một thực thể (instance) được phép chạy mà thôi Điều đó có tácdụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn Các ứngdụng được phân quyền và tự hệ thống sẽ kill nếu mức ưu tiên thấp

- Các ứng dụng được gán số ID của người sử dụng nhằn phân định quyền hạnkhi sử dụng tài nguyên, cấu hình phần cứng và hệ thống

- Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di độngkhác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền Các ứngdụng đó chỉ có một hạn chế nhỏ đó là nó không được phép sử dung quá 5~10%công suất CPU, điều đó nhằn để tránh độc quyền trong việc sử dụng CPU

1.2.3 Các thành phần của Android

1.2.3.1 Thành phần của một chương trình Android

Activity và Intent

Activity: Một activity thể hiện một giao diện đồ họa người dùng Ví dụ một

activity có thể biểu diễn một danh sách các menu item để người dùng có thể chọn và

có thể hiển thị ảnh cùng với tiêu đề Một ứng dụng gửi tin nhắn văn bản có thể cómột hoạt động là hiển thị một danh sách các liên hệ để gửi tin nhắn tới, hoạt động thứhai là viết tin nhắn tới liên hệ được chọn, các hoạt động khác nữa là xem lại tin nhắn

Trang 20

cũ hay thay đổi cài đặt Mặc dù chúng làm việc cùng nhau để tạo thành một giao diệnngười dùng, mỗi activity độc lập với những cái khác Mỗi activity là một lớp con củalớp cơ sở Activity

Một ứng dụng có thể gồm chỉ một activity hay nhiều activity Thông thường,một trong số các activity được đánh dấu như là activity đầu tiên phải được trình diễntới người dùng khi ứng dụng được khởi động Chuyển từ một activity sang activitykhác được hoàn thành bằng cách cho activity hiện thời khởi động activity kế tiếp Mỗi activity được đưa ra một cửa sổ mặc định để vẽ vào Thông thường, cửa sổ

sẽ lấp đầy màn hình, nhưng nó có thể nhỏ hơn màn hình và nằm trên các cửa sổkhác Một activity có thể sử dụng cửa sổ bổ sung- ví dụ như một pop-up dialog gọicho một đáp ứng người dùng ở giữa của activity, hay một cửa sổ biểu diễn nhữngcho người dùng với thông tin quan trọng khi họ chọn một item cụ thể trên màn hình Nội dung trực quan của cửa sổ được cung cấp bởi một cây phân cấp các đốitượng view dẫn xuất từ lớp View Mỗi view điều khiển một khoảng hình chữ nhật cụthể bên trong cửa sổ View cha chứa và tổ chức bố cục các view con Các view lá vẽtrong hình chữ nhật mà chúng điều khiển và đáp ứng lại các hành động người dùngtrực tiếp ở khoảng trống này Do đó, các view là nơi mà các tương tác của activityvới người dùng diễn ra Ví dụ một view có thể hiển thị một hình ảnh nhỏ và khởi tạomột hoạt động khi người dùng nhấn vào hình ảnh đó Android có một số view đã xâydựng sẵn mà bạn có thể sử dụng gồm: buttons, text fields, scroll bars, menu items,check boxes…

Một cây phân cấp view được đặt trong một cửa sổ của activity bằng phươngthứcActivity.setContentView() Content view là đối tượng View ở gốc của cây phâncấp Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời củamột hoạt động Class Activity định nghĩa các sự kiện sau đây:

- onCreate():Được gọi khi hoạt động được tạo ra lần đầu tiên

- onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng

Trang 21

- onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng

- onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt độngtrước đó

- onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng

- onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằng tayhoặc bằng hệ thống để bảo tồn bộ nhớ)

- onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại một lầnnữa

Hình 1.5: Activity life cycler

Intent:

Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của một Activity

Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiều Activity, mỗi

Trang 22

Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau Intentchính là người đưa thư, giúp các Activity có thể triệu gọi cũng như truyền các dữ liệucần thiết tới một Activity khác Điều này cũng giống như việc di chuyển qua lại giữacác Forms trong lập trình Windows Form.

Hình 1.6: Intent

1.2.3.2.Service

Một service không có giao diện trực quan, nó chạy trên nền trong một khoảng thờigian không xác định Ví dụ một service có thể chơi nhạc nền, hay nó nạp dữ liệu trênmạng hay tính toán cái gì đó và cung cấp kết quả cho activity cần đến nó Mỗiservice mở rộng từ lớp cơ sở Service

Một ví dụ cổ điển là media player chơi các bài hát từ một danh sách Ứng dụngplayer có thể có một hay hai activity cho phép người dùng chọn bài hát và bắt đầuchơi Tuy nhiên, music playback không tự nó được xử lý bởi một activity bởi vìngười dùng sẽ mong muốn chơi tiếp nhạc khi họ rời khỏi player và làm cái gì đókhác Để tiếp tục chơi nhạc, media player activity có thể khởi động một service chạytrên nền Hệ thống sẽ giữ cho music playback service chạy thậm chí khi activity khởiđộng nó rời khỏi màn hình Trong khi kết nối, bạn có thể giao tiếp với dịch vụ thôngqua giao diện mà service đó trưng ra Ví dụ như trong music service, giao diện này

có thể cho phép người dùng pause, rewind, stop và restart lại playback Giống nhưcác activity và các thành phần khác khác, service chạy trong thread chính của tiến

Trang 23

trình ứng dụng Vì thế chúng không thể chặn những thành phần khác hay giao diệnngười dùng, chúng thường tạo ra các thead khác cho các nhiệm vụ hao tốn thời gian.

Hình 1.7: Service life cycler

1.2.3.3 Broadcast Receive

Một Broadcast Rreceiver là một thành phần không làm gì ngoài việc nhận và đáplại các thông báo broadcast Nhiều broadcast khởi đầu trong mã hệ thống - ví dụ nhưthông báo múi giờ thay đổi, pin yếu, ảnh đã được chụp, hay người dùng đã thay đổingôn ngữ Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng dụng khác biếtđược một số dữ liệu đã được tải về thiết bịvà sẵn sàng cho việc sử dụng chúng Mộtứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báo nào mà nó

Trang 24

cho là quan trọng Tất cả các receiver mở rộng từ lớp cơ sở BroadcastReceiver.Broadcast Receiver không hiển thị một giao diện người dùng Tuy nhiên chúng có thểbắt đầu một activity để đáp lại thông tin mà chúng nhận, hay chúng có thể sử dụngNotificationManager để cảnh báo người dùng Notifications có thể lấy sự chú ýcủangười dùng bằng nhiều cách, lóe sang đèn sau, rung, tạo ra âm thanh Chúngthường lấy một biểu tượng bền vững trong thanh trạng thái, cái mà người dùng có thể

mở để lấy thông điệp

1.2.3.4 Content Provider

Một content provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụngcho các ứng dụng khác Dữ liệu có thể được lưu trữ trong hệ thống file, trong một cơ

sở dữ liệu SQLite, hay trong một cách khác nào đó Content provider mở rộng lớp cơ

sở ContentProvider để cài đặt một tập các chuẩn các phương thức cho phép các ứngdụng khác đạt được và lưu trữ dữ liệu của kiểu mà nó điều khiển Tuy nhiên, các ứngdụng không gọi trực tiếp các phương thức này, chúng sử dụng một đối tượngContentResolver và gọi các phương thức của nó Một ContentResolver có thể nóichuyện với bất cứ content provider nào, chúng cộng tác với provider để quản lý giaotiếp liên tiến trình

1.2.3.5 Mainifest File

Trước khi Android có thể khởi động một thành phần ứng dụng, nó phải biếtrằng thành phần đó tồn tại Vì vậy, ứng dụng khai báo những thành phần của mìnhtrong một manifest file được gắn vào Android package, file apk này cũng giữ chứa

mã của ứng dụng và các tài nguyên

Manifest file là một file XML có cấu trúc và thường được đặt tên làAndroidManifest.xml cho mọi ứng dụng Nó thực hiện một số bổ sung để khai báocác thành phần của ứng dụng, như là nêu tên các thư viện ứng dụng cần đến, và xácđịnh các quyền hạn của ứng dụng muốn được cấp

Trang 25

Ví dụ như nó khai báo các Activity trong chương trình của chúng ta, khi khởiđộng chương trình thì Activity nào sẽ được thực hiện đầu tiên, các quyền truy cậpInternet, SDCard, hay các vấn đề về gửi nhận tin nhắn, cuộc gọi

1.2.3.6 Giao diện người dùng trong Android

Trong một ứng dụng Android, giao diện người dùng được xây dựng bằng cách

sử dụng View và ViewGroup đối tượng Có nhiều loại quan điểm và các nhóm view,mỗi một trong số đó là hậu duệ của lớp View

View objects là các đơn vị cơ bản của biểu hiện giao diện người dùng trên nềntảng Android Các class xem như là cơ sở phục vụ cho class con được gọi là

"widget", trong đó cung cấp đầy đủ các đối tượng thực hiện giao diện, giống như cáclĩnh vực văn bản và nút Class ViewGroup phục vụ như là cơ sở cho lớp con đượcgọi là " layouts", cung cấp các loại khác nhau của kiến trúc bố trí, như linear, tabular

và relative

1.2.4 Các thành phần giao diện Widget

Có rất nhiều cách bố trí giao diện Sử dụng nhiều hơn và các loại khác nhau củacác view group, bạn có thể cấu trúc views con và view groups trong vô số cách Xácđịnh các nhóm xem được cung cấp bởi Android (gọi là layouts) bao gồmLinearLayout, RelativeLayout, TableLayout, GridLayout và khác Mỗi cung cấp một

bộ duy nhất của các thông số bố trí được sử dụng để xác định vị trí của views con và

cơ cấu layout

Để tìm hiểu về một số các loại khác nhau của các view group được sử dụng chomột layout, đọc giao diện đối tượng thường gặp

Widget là một object View phục vụ như một giao diện để tương tác với ngườidùng Android cung cấp một tập các widgets thực hiện đầy đủ, giống như các button,Checkbox, và text-entry , do đó bạn có thể nhanh chóng xây dựng giao diện ngườidùng của bạn Một số widgets được cung cấp bởi Android phức tạp hơn, giống như

Trang 26

một date picker, clock, và zoom controls Nhưng nó không giới hạn trong các loạiwidgets được cung cấp bởi các nền tảng Android.

1.2.5 Bắt sự kiện trong Android

Khi đã thêm một số Views/widgets đến giao diện Để được thông báo về UIevents người dùng, cần phải làm một trong hai điều: Xác định một sự kiện nghe vàđăng ký nó với các View Đây là cách lắng nghe sự kiện Các class View có mộtphương pháp gọi là On<something>()

Ví dụ: View.OnClickListener (để xử lý "nhấp chuột" trên một View),View.OnTouchListener ( để xử lý các sự kiện màn hình cảm ứng trong một View),

và View.OnKeyListener (để xử lý thiết bị ép quan trọng trong một View)

Vì vậy nếu muốn View được thông báo khi nó là " clicked" (chẳng hạn như khimột nút được chọn), thực hiện và xác định OnClickListener của nó gọi methodonClick() (nơi thực hiện các hành động sau khi nhấp chuột), và đăng ký nó vào Xemvới setOnClickListener()

Ghi đè một callback method hiện cho View Đây là những gì nên làm gì khi đãthực hiện lớp View của riêng bạn và muốn lắng nghe cho các sự kiện cụ thể xảy ratrong nó Ví dụ về các sự kiện có thể xử lý bao gồm màn hình là touchedonTouchEvent() khi trackball là di chuyển onTrack ballEvent() hoặc khi một phímtrên thiết bị được nhấn onKeyDown() Điều này cho phép xác định các hành vi mặcđịnh cho từng sự kiện bên trong tuỳ chỉnh View và xác định xem sự kiện này cầnđược thông qua ngày để View con khác Một lần nữa, đây là những callbacks Viewclass, do đó, cơ hội duy nhất của bạn để xác định đó là khi bạn xây dựng một phầntùy chỉnh

1.2.6 Menu

Menu đơn có một phần quan trọng của giao diện người dùng trong một ứngdụng Menu cung cấp một giao diện đáng tin cậy cho thấy rằng các chức năng ứngdụng và cài đặt Trong trình đơn ứng dụng phổ biến nhất là tiết lộ bằng cách bấm

Trang 27

phím MENU trên thiết bị Tuy nhiên, cũng có thể thêm Context Menu, có thể hiểnthị khi người sử dụng máy nhấn và nắm giữ phím trên một mục Thực đơn cũng được

hệ thống phân cấp cấu trúc bằng cách sử dụng một xem, nhưng bạn không xác địnhcấu trúc này cho mình Thay vào đó, xác định onCreateOptionsMenu() oronCreateContext Menu() gọi method cho hoạt động của mình và tuyên bố các mục

mà mình muốn bao gồm trongmenu của mình Trong một thời gian thích hợp,Android sẽ tự động tạo ra hệ thống View phân cấp cần thiết cho menu, và rút ra mỗitrong mỗi menu items đó

Trang 28

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Phân tích yêu cầu người dùng

Yêu cầu của chủ khách sạn.

- Giao diện dễ sử dụng và có tính thẩm mỹ cao

- Cho phép chủ khách sạn thêm khách sạn và đảm bảo bí mật thông tin

- Xem và thay đổi các thông tin về tài khoản

- Thông tin phải đảm bảo chính xác

- Thông tin sản phẩm phong phú, đa dạng:

- Giới thiệu, quảng bá nhiều phòng để khách hàng có nhiều cơ hội lựa chọn vềmột loại phòng phù hợp Thông tin về một sản phẩm phải chi tiết để khách hàng cóthể nắm bắt rõ tiện nghi về khách sạn mình lựa chọn Đặc biệt là những khách sạnchất lượng và được đánh giá cao

- Luôn cập nhật, giới thiệu những loại phòng chất lượng

- Thông tin về giá, địa chỉ, tiện nghi phải rõ ràng

- Cho phép khách hàng tìm kiếm nhanh chóng, chính xác theo nhiều tiêu chínhư tiện nghi, chất lượng cũng như dựa vào khoảng cách gần khách hàng nhất

- Cho phép thống kê được những khách hàng đặt phòng của khách sạn mình

Yêu cầu của người dùng (khách hàng).

- Giao diện dễ sử dụng và có tính thẩm mỹ cao

- Cho phép người dùng sửa thông tin cá nhân và thay đổi mật khẩu đăng nhập

- Ngoài ra còn cho phép người dùng chủ động đăng ký tài khoản

- Người dùng cần chức năng tìm kiếm theo:

Trang 29

- Liệt kê danh sách khách sạn có khuyến mãi

- Ngoài ra tính khoảng cách khách sạn tới vị trí hiện tại

 Tìm kiếm theo tên khách sạn/ địa chỉ

 Tìm kiếm theo mức giá

 Tìm kiếm theo khuyến mãi

 Tìm kiếm theo chất lượng

 Tìm kiếm theo đánh giá

 Tìm kiếm theo tiện nghi

 Hotdeals

- Promotion

- Near me

Ngày đăng: 11/06/2022, 10:11

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Mô hình tổng quát các thành phần trong Android - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 1.1 Mô hình tổng quát các thành phần trong Android (Trang 14)
Hình 1.2: Cấu trúc của Linux Kernel - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 1.2 Cấu trúc của Linux Kernel (Trang 14)
Hình 1.3: Library and Runtime - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 1.3 Library and Runtime (Trang 16)
Hình 1.4:Cấu trúc của Framework - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 1.4 Cấu trúc của Framework (Trang 17)
Hình 1.5: Activity life cycler - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 1.5 Activity life cycler (Trang 21)
Hình 1.6: Intent - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 1.6 Intent (Trang 22)
Hình 1.7: Service life cycler - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 1.7 Service life cycler (Trang 23)
Hình 2.1. sơ đồ usercase tổng quát - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 2.1. sơ đồ usercase tổng quát (Trang 31)
Hình 3.1. Giao diện phpMyAdmin Giao diện phpMyAdmin như hình trên, trong đó: - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 3.1. Giao diện phpMyAdmin Giao diện phpMyAdmin như hình trên, trong đó: (Trang 36)
Hình 3.2. Login (đăng nhập) - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 3.2. Login (đăng nhập) (Trang 41)
Hình 3.3. Đăng ký user - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 3.3. Đăng ký user (Trang 42)
Hình 3.4. Chức năng người dùng - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 3.4. Chức năng người dùng (Trang 43)
Hình 3.5. Giao diện quản trị chủ khách sạn - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 3.5. Giao diện quản trị chủ khách sạn (Trang 44)
Hình 3.6. Giao diện chức năng tìm kiếm khách sạn theo tiêu chí - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 3.6. Giao diện chức năng tìm kiếm khách sạn theo tiêu chí (Trang 45)
Hình 3.7. Khách sạn có khuyến mãi - Đồ án xây dựng phần mềm quản lý khách sạn trên nền tảng android
Hình 3.7. Khách sạn có khuyến mãi (Trang 47)

TỪ KHÓA LIÊN QUAN

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

w