Mục lục 1 TỰ ĐÁNH GIÁ ĐỒ ÁN 3 1.1 Mô tả dự án 6 1.2 Đóng góp của các thành viên cho dự án 8 1.3 Thông tin cần thiết để thực thi chương trình 10 2 CÁC CHỨC NĂNG ĐÃ THỰC HIỆN 11 2.1 Hiển thị Danh sách phòng trọ ở màn hình chính 12 2.2 Tìm kiếm và gợi ý tìm kiếm theo quận 16 2.3 Tìm kiếm phòng theo nhiều tiêu chí 17 2.4 Chức năng xem chi tiết thông tin của phòng trọ 25 2.5 Report phòng trọ 32 2.6 Định vị phòng và chỉ đường 34 2.7 Bình luận và đánh giá phòng trọ 36 2.8 Đăng phòng trọ mới 41 2.9 Chức năng chỉnh sửa thông tin cá nhân 48 2.10 Chức năng đăng ký tài khoản mới 51 2.11 53 Chức năng đăng nhập 53 3 NHỮNG ĐIỂM ĐẶC BIỆT TRONG ĐỒ ÁN 54 4 CÁC THAM KHẢO 55 1 TỰ ĐÁNH GIÁ ĐỒ ÁN Điểm tự đánh giá cho toàn đồ án: 9.5 / 10. (Bắt buộc) Chú ý: Giáo viên vấn đáp sẽ từ chối đánh giá nếu không có điểm tự đánh giá.Sử dụng các tiêu chí đánh giá ở trang sau để tự đánh giá. Các tiêu chí đánh giá 10:Xuất sắc, thể hiện năng lực và khả năng tự tìm hiểu. Thể hiện khao khát tri thức thông qua thời gian và công sức đầu tư cho dự án. Để ý tới tính tiện dụng, hiệu năng và tốc độ, thẩm mĩ của chương trình. Đề xuất được cải tiến hoặc ý tưởng mới. Giải pháp có độ khó thực hiện cao, tốn nhiều thời gian và công sức thực hiện. 9.5:Thẩm mĩ tốt, hiệu năng và tốc độ ổn định. Có độ tiện dụng. Giái pháp có độ khó và phức tạp tương đối. Không tốn quá nhiều thời gian và công sức để thực hiện. 9:Thực hiện > 4 chức năng có độ khó và phức tạp cao. Có chú ý đến tính tiện dụng khi sử dụng. Xử lí tốt lỗi và các ngoại lệ.Có tính thẩm mĩ. 8.5:Thực hiện > 4 chức năng có độ khó và phức tạp cao. Có chú ý đến tính tiện dụng khi sử dụng. 8:Thực hiện 3-4 chức năng có độ khó và phức tạp cao. 7.5:Thực hiện 1-2 chức năng có độ khó và phức tạp cao. 7:Thực hiện > 6 chức năng không phức tạp. Xử lí tốt lỗi và ngoại lệ. 6.5:Thực hiện > 6 chức năng không phức tạp. Xử lí tốt luồng sự kiện chính, còn một số lỗi và ngoại
Trang 1PHÁT TRIỂN PHẦN MỀM CHO THIẾT BỊ DI ĐỘNG
BÁO CÁO ĐỒ
ÁNTên đồ án: App tìm phòng trọ
MSSV 1: 1612339 Họ tên: Trần Khánh LinhMSSV 2: 1612365 Họ tên: Nguyễn Thiên LýMSSV 3: 1612534 Họ tên: Trần Ngọc QuangMSSV 4: 1612541 Họ tên: Lê Tường QuiMSSV 5: 1612560 Họ tên: Trịnh Nhất Sinh
Họ tên giáo viên vấn đáp: Hồ Tuấn Thanh
Bộ môn Công nghệ phần mềm
Khoa Công nghệ thông tin
Đại học Khoa học tự nhiên TP HCM
Trang 3M c l c ục lục ục lục
1 TỰ ĐÁNH GIÁ ĐỒ ÁN 3
1.1 Mô tả dự án 6
1.2 Đóng góp của các thành viên cho dự án 8
1.3 Thông tin cần thiết để thực thi chương trình 10
2 CÁC CHỨC NĂNG ĐÃ THỰC HIỆN 11
2.1 Hiển thị Danh sách phòng trọ ở màn hình chính 12
2.2 Tìm kiếm và gợi ý tìm kiếm theo quận 16
2.3 Tìm kiếm phòng theo nhiều tiêu chí 17
2.4 Chức năng xem chi tiết thông tin của phòng trọ 25
2.5 Report phòng trọ 32
2.6 Định vị phòng và chỉ đường 34
2.7 Bình luận và đánh giá phòng trọ 36
2.8 Đăng phòng trọ mới 41
2.9 Chức năng chỉnh sửa thông tin cá nhân 48
2.10 Chức năng đăng ký tài khoản mới 51
2.11 53
Chức năng đăng nhập 53
3 NHỮNG ĐIỂM ĐẶC BIỆT TRONG ĐỒ ÁN 54
4 CÁC THAM KHẢO 55
Trang 4Phát triển phần mềm cho thiết bị di
1
TỰ ĐÁNH GIÁ ĐỒ ÁN
Điểm tự đánh giá cho toàn đồ án: 9.5 / 10 (Bắt buộc)
Chú ý: Giáo viên vấn đáp sẽ từ chối đánh giá nếu không có điểm tự đánh giá.Sử dụng các
tiêu chí đánh giá ở trang sau để tự đánh giá
Các tiêu chí đánh giá
10:Xuất sắc, thể hiện năng lực và khả năng tự tìm hiểu Thể hiện khao khát tri thức thông
qua thời gian và công sức đầu tư cho dự án Để ý tới tính tiện dụng, hiệu năng và tốc độ,
Trang 5Phát triển phần mềm cho thiết bị di
8:Thực hiện 3-4 chức năng có độ khó và phức tạp cao.
7.5:Thực hiện 1-2 chức năng có độ khó và phức tạp cao
7:Thực hiện > 6 chức năng không phức tạp Xử lí tốt lỗi và ngoại lệ.
6.5:Thực hiện > 6 chức năng không phức tạp Xử lí tốt luồng sự kiện chính, còn một số lỗi và ngoại lệchưa xử lí.
6:Thực hiện từ 5-6 chức năng không phức tạp((Luồng sự kiện chính – chưa xử lí lỗi và
4:Thực hiện chức năng chính yếu thì chương trình văng.
3:Giao diện đầy đủ các màn hình nhưng không có chức năng nào thực hiện được.
2:Biên dịch thành công Một màn hình trống trơn Ngoài ra không đi đâu được hết,
không làm gì được
1: Không biên dịch được
0: Sử dụng mã nguồn không phải của mình mà không ghi rõ trong báo cáo.
Trang 6Mô tả dự án
a Tên của dự án: App tìm phòng trọ
b Môi trường thực thi: Android studio
c Mục tiêu của chương trình:
App hỗ trợ tìm kiếm phòng trọ dễ dàng hơn cho người tìm phòng và hỗ trợ đăng phòng lên đối với người cho thuê phòng
d Lý do ra đời của dự án:
Xuất phát từ nhu cầu tìm kiếm phòng trọ phù hợp với nhu cầu và túi tiền của những sinh viên mới từ quê lên thành phố hay những người muốn tìm kiếm một phòng trọ chất lượng và phù hợp với túi tiền của mình hơn=>App sẽ cung cấp thông tin phòngtrọ và cho phép tìm kiếm phòng trọ với nhiều tiêu chí
Những người cho thuê phòng muốn nhiều người biết đến phòng trọ của mình hơn
=> App cho phép người chủ trọ đăng trọ với đầy đủ thông tin tiện ích của phòng trọ đảm bảo dễ dàng tìm thấy bởi người thuê trọ
Những người muốn ở ghép với người khác hay chưa tìm thấy phòng trọ mong muốn
=> App cung cấp chức năng tìm người ở ghép
e Các phần mềm có chức năng tương tự hoặc có liên quan
o Không cho phép người dùng lưu lại phòng đã xem
o Chức năng tìm kiếm đôi khi còn có lỗi
o Ứng dụng đôi lúc bị crash
o Không cho phép người dùng report phòng trọ sai phạm
o Không cho phép người dùng bình luận và đánh giá về phòng được đăng
f Điểm khác biệt của chương trình
Cho phép người dùng lưu lại danh sách phòng yêu thích
Cho phép người dùng report phòng trọ sai phạm
Người đăng phòng có thể quản lý và xem lượng tương tác đến phòng trọ của mình
Người đăng phòng có thể chỉnh sửa và hủy các phòng trọ đã đăng
Trang 7 Cho phép người dùng bình luận và đánh giá về phòng được đăng
Xây dựng trang admin cho phép quản lý các user của ứng dụng
Không tính phí người dùng
Trang 86 1612560 Thiết kế màn hình giao diện chính
7 1612560 Thiết kế giao diện chức năng tìm kiếm
8 1612560 Thiết kế màn hình hiển thị list khu vực nhiều
phòng, list phòng
9 1612365 Thiết kế giao diện chi tiết phòng trọ
10 1612541 Chức năng đăng nhập với google
11 1612541 Chức năng đăng nhập với facebook
12 1612534 UI chức năng đăng ký tài khoản mới
13 1612339 Chức năng đăng ký tài khoản mới
20 1612334 Chức năng chỉnh sửa thông tin cá nhân
21 1612560 UI chức năng bình luận
22 1612339 Chức năng bình luận, đánh giá phòng
23 1612339 Chức năng hiển thị chi tiết của phòng
Trang 924 1612365 Chức năng xem chi tiết hình ảnh của phòng
25 1612365 Chức năng chỉ đường cho người dùng sử
dụng google map
26 1612365 Chức năng tìm người ở ghép
27 1612339 Chức năng thêm xóa phòng trọ yêu thích
28 1612339 Chức năng report phòng trọ
Trang 10Thông tin cần thiết để thực thi chương trình
Máy phải chạy hệ điều hành android 5.0 trở lên
Có cài đặt CH play, và dịch vụ của google play
Có cài đặt google map
Tài khoản đăng nhập vào app: trinhnhatsinh@gmail.com mk:123456
Trang 11CÁC CHỨC NĂNG ĐÃ
THỰC HIỆN
Hướng dẫn
Với mỗi chức năng của chương trình mà các bạn liệt kê bên dưới,
Viết mô tả ngắn gọn cho biết chức năng này cụ thể làm gì (1-3 câu).
Chụp ảnh màn hình minh họa với dữ liệu cần thiết để người xem hiểu được khái quát nó làm gì, đừng để màn hình trống trơn Đôi khi chỉ cần một hình chụp của một thời điểm thuộc giai đoạn xử lí / cảnh game nào đó Nếu cần nhiều hơn 1 hình, cứ chụp Điều này sẽ giúp giáo viên hình dung rõ hơn chức năng này làm gì Ví dụ màn hình đăng nhập sẽ có sẵn tên đăng nhập admin và mật khẩu, màn hình tra cứu sẽ
có sẵn kết quả tra cứu của một nhân viên nào đó, màn hình báo cáo có sẵn kết quả báo cáo của một tháng…
Nên show những hình chức năng chính ra trước, các màn hình phụ sau, đừng lúc nào cũng show màn hình đăng nhập rồi chào mừng game rồi credit và high score hoặc các bạn rất hay show màn hình chào mừng của chương trình rồi about rồi mới tới các chức năng chính Điều này là không nên.
Sử dụng cách mô tả case study, cho biết luồng sự kiện chính của màn hình này là gì (người dùng nhập / thao tác cái gì, kết quả màn hình sẽ hiển thị / trả ra kết quả gì)
Trang 12Hiển thị Danh sách phòng trọ ở màn hình chính
nhiều nhất Chuyển sang màn hình tìm kiếm phòngtheo nhiều chỉ tiêu
Trang 13 List hiển thị danh sách phòng trọ đã được xác minh
o Các luồng sự kiện:
Bấm vào item trong listview Chuyển sang màn hình chi tiết của
phòng
Trang 14 Grid hiển thị danh sách tất cả các phòng cả phòng đã xác minh và chưa xác minh
o Luồng sự kiện
Bấm vào item trong listview Chuyển sang màn hình chi tiết của
phòng
Trang 15 Thanh menu để chuyển qua các màn hình khác
Trang 16Tìm kiếm và gợi ý tìm kiếm theo quận
Cung cấp cho người dùng thanh tìm kiếm, khi người dùng nhập vào thông tin thì sẽ hiện gợi ý các quận đang có phòng cho người dùng chọn ở bên dưới
lịch sử tìm kiếm Chuyển sang màn hình lọc theo nhiều tiêu chí
Trang 17Tìm kiếm phòng theo nhiều tiêu chí
Cung cấp thanh filter cho phép người dùng lựa chọn dễ dàng để tìm kiếm phòng kết hợp cùng lúc nhiều tiêu chí khác nhau
Khi bấm vào các mục chọn để lọc sẽ hiển thị ra tương ứng các chỉ tiêu để lọc:
Trang 19o Lọc theo tiện ích:
Người dùng có thể chọn các tiện ích cần có ở phòng cần tìm ở list bên dưới, check vào các tiện ích cần tìm để thêm vào list filter cũng như bỏ check nếu muốn remove điều kiện đó khỏi list filter
Trang 20o Lọc theo loại phòng
Người dùng có thể chọn loại phòng cần tìm khi chọn vào các loại tương ứng như “Trọ”, “Ký túc xá”, ”Chung cư”, “Chung cư”, “Nhà nguyên căn” thì item trên list filter sẽ thay đổi tương ứng theo
Khi chọn vào “Tất cả” thì item trên list filter sẽ bị remove
Trang 21o Lọc theo số người và giới tính
Người dùng có thể lọc theo số người tối đa mà phòng có thể chứa, bấmdấu cộng để tăng thêm người, bấm dấu trừ để giảm số lượng người, check vào “nam” hoặc “nữ” để thay đổi giới tính của phòng muốn thuê.Khi thực hiện thay đổi thì item trên list filter cũng sẽ thay đổi theo tương ứng
Trang 22 Sau khi người dùng chọn xong các tiêu chí để lọc thì bấm vào nút áp dụng để bắt đầu tìm kiếm, số kết quả tìm thấy sẽ được hiển thị trên góc bên trái và list phòng tương ứng sẽ hiển thị phía dưới Nếu như không tìm thấy thì kết quả sẽ là 0 và list sẽrỗng
o Người dùng có thể bấm vào item trong list phòng trọ để chuyển vào màn hình xem thông tin chi tiết của phòng trọ
Bấm vào nút “X” bên trái thanh filter để remove tất cả item trong list, hoặc bấm vàotừng dấu x trên từng item để remove từng item 1
Trang 23 Để bắt đầu tìm kiếm với một vị trí mới bấm vào thanh tìm kiếm trên cùng sẽ hiển thị
ra màn hình “tìm kiếm và gợi ý tìm kiếm theo quận”
Trang 24o Sau khi chọn vào quận muốn tìm kiếm sẽ trở lại màn hình tìm kiếm theo nhiều tiêu chí
Bấm nút hủy để trở về màn hình chính ban đầu của ứng dụng
Trang 26 Khi bấm vào hình trái tim trên thanh toolbar sẽ thêm vào danh sách phòng trọ yêu thích của người dùng, nếu bấm vào lần nữa sẽ loại bỏ ra khỏi phòng trọ yêu thích
Khi bấm vào dấu 3 chấm sẽ hiển thị dialog
cho phép report phòng trọ sẽ được trình bày ở chức năng tiếp theo (Chức năng 2.5)
Trang 27 Bấm vào mỗi tấm hình thì sẽ hiển thị dialog phóng to hình và cho phép chuyển giữa các hình
o Vuốt trái hoăc vuốt phải để chuyển sang xem hình khác
o Bấm “Đóng” để trở về màn hình chi tiết phòng
Trang 28 Danh sách tiện ích của phòng
Trang 29 Khi bấm vào gọi đặt phòng sẽ chuyển sang màn hình gọi điện thoại
Bấm vào nút “CHECK MAP” sẽ chuyển sang màn hình map và chỉ đường sẽ được trình bày ở chức năng (2.6)
Trang 30 Hiển thị bảng đánh giá và danh sách bình luận của phòng
Trang 31 Bấm vào “Viết Bình luận” để chuyển sang trang viết bình luận và “Xem tất cả để xem tất cả bình luận” (trình bày chi tiết trong chức năng 2.7)
Trang 32Report phòng trọ
Sau khi bấm vào chức năng report ở màn hình chi tiết phòng trọ sẽ hiển thị dialog cho phép người dùng chọn và nhập thông tin để báo về phòng trọ cho admin
Trang 33 Nhập đầy đủ thông tin và bấm ok để gửi report , sau khi gửi thành công sẽ trở về màn hình Chi tiết phòng
Trang 34Định vị phòng và chỉ đường
Sau khi bấm “CHECK MAP” từ màn hình Chi tiết phòng sẽ chuyển sang map hiển thị
vị trí của phòng trọ trên map
Trang 35 Bấm vào chỉ đường để chuyển sang chế độ chỉ đường của google map
Trang 36Bình luận và đánh giá phòng trọ
Sau khi bấm vào “Viết bình luận” ở màn hình chi tiết phòng trọ sẽ chuyển sang mànhình bình luận cho phép người dùng chấm điểm phòng cũng như viết bình luận về phòng trọ
Trang 37 Sau khi bấm đăng bình luận sẽ clear toàn bộ bình luận và thông báo đã thêm bình luận thành công
Trang 38 Có thể xem tất cả bình luận khi bấm hoặc vuốt sang “Xem tất cả”
Trang 39 Bấm vào “Like this” để like cho bình luận bấm lại lần nữa để bỏ like
Trang 40 Bấm vào “Xem của bạn” hoặc vuốt sang để xem bình luận của bạn
2.8
Đăng phòng trọ mới
Người dùng có thể đăng phòng trọ mới bằng cách bấm vào postroom ở menu ở mànhình chính, khi muốn đăng mới một phòng trọ gồm 4 bước sau:
Trang 41o Thông tin địa chỉ của phòng trọ
Sau khi điền đầy đủ thông tin và bấm xác nhận sẽ chuyển sang màn hình tiếp theo và Button vị trí sẽ chuyển sang màu xanh
Trang 42o Thông tin về loại phòng, diện tích, số người, giá cả của phòng
Sau khi nhập đầy đủ thông tin và bấm xác nhận sẽ được chuyển sang màn hình tiếp theo và button thông tin sẽ chuyển sang màu xanh
Trang 43o Thông tin về hình ảnh và tiện ích của phòng
Trang 44 Bấm vào chọn hình ảnh từ thư viện để chuyển sang màn hình chọn hình ảnh, sau khi chọn xong hình bấm vào đã xong để trở về màn hình ban đầu
Trang 45 Check vào các tiện ích hiện có của phòng để thêm vào tiện ích, bỏ check để không chọn tiện ích đó
Sau khi chọn xong thì bấm xác nhận để chuyển sang màn hình kế tiếp
Trang 46o Thông tin về tên phòng và mô tả
Trang 47 Bấm đăng phòng sẽ hiện lên progess đang đăng khi đăng phòng thành công sẽ ẩn progess và thông báo đã thêm thành công
Trang 48Chức năng chỉnh sửa thông tin cá nhân
Sau khi bấm vào chức năng Account từ màn hình chính sẽ chuyển sang màn hình hiển thị thông tin cá nhân của người dùng
Trang 49 Bấm vào cây bút chì bên trái để bắt đầu chỉnh sửa
Trang 50 Sau khi chọn và chỉnh sửa xong thông tin thì bấm vào dấu tick để xác nhận cho phép chỉnh sửa, thanh progress sẽ hiện cho đến khi thông tin được cập nhật xong
Trang 51Chức năng đăng ký tài khoản mới
Người dùng muốn đăng ký một tài khoản mới thì bấm vào nút đăng ký ở màn hình login sẽ chuyển sang trang đăng ký
Trang 52 Sau khi đăng ký thành công sẽ chuyển về màn hình đăng nhập
Trang 53Chức năng đăng nhập
App cho phép người dùng đăng nhập bằng 3 loại tài khoản: tài khoản app, google vàtài khoản facebook Chọn 1 trong 3 cách đăng nhập và bấm login, Nếu login thành công thì sẽ vô màn hình chính nếu có lỗi thì thông báo lỗi
Trang 543 Tự thiết kế một vài background cho app
4 Tìm hiểu và sử dụng API của here map để lấy vị trí và tọa độ của người dùng
5 Dùng interface để chuyển phạm vi hoạt động của hàm ở luồng khác trong model về lớp Controller để cập nhật cho giao diện
Trang 55CÁC THAM KHẢO
SÁCH
1 Dawn Griffiths, David Griffiths Head First Android Development O’Reilly Media, Inc.,
1005 Gravenstein Highway North, Sebastopol, CA 95472 2017
BÀI VIẾT / BÀI HƯỚNG DẪN
1.Clone ứng dụng Foody sử dụng Android và FireBase Realtime