.5 Mô tả database bảng Version

Một phần của tài liệu Hoàn thiện ứng dụng hướng dẫn du lịch Việt Nam trên Android (Trang 32 - 49)

3.1.5 Chức năng

3.1.5.1 Tự động tìm kiếm các địa điểm xung quanh

Khi người dùng khởi chạy ứng dụng, đầu tiên ứng dụng sẽ xác định và lấy tọa độ của vị trí hiện tại của người dùng. Tiếp theo ứng dụng sẽ xác định khu vực hiện tại (đơn vị hành chính cấp huyện) bằng cách lấy tọa độ đã xác định được và sử dụng API của google để lấy về kết quả do google cung cấp. Sau đó ứng dụng sẽ parse kết quả nhận được để xác định khu vực hiện tại (đơn vị hành chính cấp huyện). Dựa vào khu vực đã được xác định, ứng dụng sẽ tự động tìm kiếm các địa điểm xung quanh bằng API của google với các từ khóa phù hợp với khu vực được lấy ra từ database. Kết quả tìm kiếm nhận được dưới dạng Json sẽ được parse ra và hiện lên RecyclerView đồng thời sẽ được đánh dấu trên bản đồ bằng các Marker.

3.1.5.2 Tự động gợi ý các đặc sản, phong cảnh, lễ hội

Ngồi việc tìm kiếm địa điểm xung quanh sau khi xác định được khu vực hiện tại thì ứng dụng cũng đồng thời tìm kiếm các đặc sản, phong cảnh, lễ hội từ database thuộc khu vực hiện tại. Các đặc sản, phong cảnh, lễ hội sẽ được hiển thị lên RecyclerView và đồng thời cũng được đánh dấu trên bản đồ. Dữ liệu về các đặc sản, phong cảnh, lễ hội được lấy từ các website về du lịch Việt Nam.

3.1.5.3 Đánh dấu địa điểm khi được chọn.

Khi các địa điểm được gợi ý trên các RecyclerView, người dùng sẽ xem thông tin cơ bản của địa điểm. Khi muốn xem vị trí của địa điểm đó trên bản đồ người dùng chỉ cần click vào địa chỉ của địa điểm đó, ứng dụng sẽ chuyển sang giao diện bản đồ và đánh

25

dấu địa điểm vừa chọn, đồng thời sẽ di chuyển camera tới vị trí của địa điểm đó để tiện quan sát.

3.1.5.4 Chỉ đường

Đường đi đối với người dùng ở một nơi xa lạ luôn là vấn đề nhức nhối và ứng dụng đã giải quyết được vấn đề này. Để nhận được hướng dẫn đường đi từ vị trí hiện tại đến vị trí mong muốn, người dùng chỉ cần nhấn và dữ vào vị trí cần chỉ đường đến ở trên bản đồ để đánh dấu vị trí cần đến. Ứng dụng sẽ xác định vị trí vừa được đánh dấu, sau đó sử dụng API của google để lấy hướng dẫn đường đi. Sau khi lấy được hướng dẫn đường đi từ google dưới dạng mã hóa, ứng dụng sẽ giải mã và chuyển thành một danh sách các tọa độ lần lượt cần đi qua từ vị trí hiện tại đến vị trí cần tới. Tiếp đó ứng dụng sẽ sử dụng Polyline để vẽ ra các đường thẳng nối các tọa độ lại với nhau bằng màu sắc nổi bật. Cuối cùng thì người dùng sẽ nhìn thấy hướng dẫn chỉ đường xuất hiện trên bản đồ.

3.1.5.5 Thêm địa điểm

Để dữ liệu ngày càng phong phú và gần với thực tế hơn thì cách có hiệu quả nhất chính là sự đóng góp từ người dùng. Khi đến một địa điểm chưa có trong cơ sở dữ liệu của ứng dụng, người dùng có thể gửi các thơng tin về địa điểm này về server. Server sẽ lưu trữ lại để chờ kiểm tra. Sau khi kiểm tra được tính xác thực, các địa điểm được người dùng đóng góp sẽ được bổ sung trong cơ sở dữ liệu và người dùng sẽ được thông báo để cập nhật dữ liệu mới. Khi đóng góp địa điểm mới, ứng dụng sẽ bắt người dùng phải xác định vị trí của địa điểm đó trên bản đồ để có thể đưa ra vị trí gợi ý chính xác khi dữ liệu được cập nhật.

3.1.5.6 Tìm kiếm

Ngồi việc tìm kiếm theo các từ khóa mặc định thì người dùng cũng có thể chọn tìm kiếm theo nhu cầu cá nhân bằng cách chọn các từ khóa khác. Sau khi chọn từ khóa trong danh sách các từ khóa được cung cấp. Ứng dụng sẽ lấy tọa độ là trung tâm của vùng hiện tại mà bản đồ đang hiển thị và thực hiện việc tìm kiếm các địa điểm xung quanh theo từ khóa đã chọn bằng cách sử dụng API của google. Kết quả trả về dưới dạng Json sẽ được parse ra và hiển thị lên RecyclerView đồng thời cũng được đánh dấu trên bản đồ.

26

3.1.5.7 Thay đổi giao diện bản đồ

Ngồi giao diện bản đồ vẽ thơng thường thì ứng dũng cũng cung cấp thêm giao diện bản đồ theo kiểu nhìn từ vệ tinh. Người dùng đơn giản chỉ cần bấm nút và giao diện sẽ được thay đổi ngay lập tức.

3.1.5.8 Xác định vị trí hiện tại

Sau một khoảng thời gian sử dụng ứng dụng thì người dùng sẽ đưa camera của bản đồ ra khá xa vị trí hiện tại, để trở về vị trí hiện tại thì người dùng đơn giản chỉ cần bấm nút và ứng sẽ xác định vị trí hiện tại sau đó di chuyển camera vào khu vực hiện tại của người dùng.

3.1.5.9 Xếp hạng địa điểm

Để nâng cao tính tương tác và phục vụ người dùng tốt hơn, ngoài việc xem các gợi ý thì người dùng cũng có thể xếp hạng cho địa điểm mong muốn với mức từ một đến năm sao. Sau khi xếp hạng địa điểm, dữ liệu sẽ được lữu trữ trên server và được đưa đến với người dùng trong phiên bản cập nhật dữ liệu tiếp theo.

3.1.5.10 Thay đổi giao diện hiển thị danh sách gợi ý.

Ngoài giao diện hiển thị theo kiểu truyền thống là danh sách sẽ hiển thị lần lượt từ trên xuống dưới, thì bây giờ người dùng có thêm cách hiển thị thứ 2 đó là hiển thị theo dạng từng thẻ nhỏ khá đẹp mắt.

27

CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH 4.1 Xây dựng cấu trúc lưu trữ trên firebase 4.1 Xây dựng cấu trúc lưu trữ trên firebase

Dữ liệu sẽ được lưu trữ trên Firebase dưới dạng cấu trúc Json. Và các dữ liệu có cùng tính chất được lưu trữ trong cùng một nơi sẽ được lưu trữ thành dạng danh sách được đánh số từ 0. Dựa vào các API mà Firebase cung cấp ứng dụng sẽ dễ dàng lấy cũng như cập nhật dữ liệu trên server.

28

Hình 4. 2 Cấu trúc dữ liệu con

4.2 Đăng ký ứng dụng với google để lấy các Key.

Để sử dụng được các API do google cũng cấp, ta phải đăng ký ứng dụng với google. Sử dụng tài khoản google để tạo một project, sau đó bật các API cần thiết (chỉ đường, tìm kiếm địa điểm…) và đồng thời xin một Android Key và một Browser Key bằng cách khai báo chuỗi SHA1 của máy và tên package của ứng dụng.

4.3 Xây dựng ứng dụng trên Android

Dựa vào các giao diện mockup đã được dựng trước, giao diện ứng được hiện thực bằng các layout XML. Sử dụng các khái niệm thiết kế mới để tạo ra ứng dụng đẹp mắt và hiệu ứng mượt mà. Để ứng dụng tránh phần nặng nề thì các hình ảnh có thể thay thế sẽ được thay thế bằng ảnh svg (là một dạng ảnh được vẽ bằng vector và đơn sắc, ảnh sẽ phù hợp với mọi kích cỡ và khơng bị bể khi thay đổi kích thước) và ảnh dạng xml. Để dễ dàng sửa chữa thì các chuỗi, hay màu sắc phần lớn đều được khai báo trong file

29

“string.xml” và “color.xml”. Ứng dụng sử dụng các RecyclerView chứa CardView kết hợp với Tabhost và Viewpager để tạo ra giao diện tương tác với người dùng. Sử dụng SwipeRefreshLayout để tạo cảm giác mượt mà khi người dùng làm mới lại các kết quả tìm kiếm. Sử dụng các Marker để hiển thị vị trí các địa điểm.

Sau khi đã hiện thực được giao diện, các chức năng của ứng dụng được hiện thực dần dần theo thứ tự ưu tiên chức năng quan trọng trước. Các class được phân chia rõ ràng theo nhiệm vụ riêng và được đặt trong các package theo một chuẩn nhất định. Để ứng dụng mượt mà, hệ thống đã kết hợp Runnable và AsyncTask để tạo ra các luồng xử lý song song tránh việc thực hiện quá nhiều nhiệm vụ trên luồng chính gây ra hiện tượng ứng dụng bị đơ.

30

Hình 4. 3 Cấu trúc class 1

31

Một số hình ảnh của ứng dụng:

32

33

34

35

36

37

38

39

40

CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 5.1 Các kết quả đạt được 5.1 Các kết quả đạt được

Ứng dụng hướng dẫn du lịch Việt Nam trên Android.

5.2 Hướng phát triển

Để ứng dụng đẹp mắt và hưu ích hơn cho người dùng, ta có thể thêm một số chức năng như:

- Hiện thông tin địa điểm khi chọn vào Marker đánh dấu trên bản đồ bằng một dialog nhỏ.

- Thêm chức năng bình luận về địa điểm cho người dùng. Để làm được điều này thì ta có thể phát triển tính năng đăng nhập bằng facebook, google.

- Chức năng chỉ đường có thể thêm lựa chọn chỉ đường dành cho ô tô hay xe máy hay đi bộ…

- Thêm chức năng lọc khi xem các gợi ý đề phịng trường hợp có q nhiều gợi ý khiến người dùng khó tìm kiếm.

- Thêm tính năng hiển thị khoảng cách từ vị trí hiện tại đến địa điểm. - Thêm tính năng tạo lịch trình du lịch cá nhân.

- Đưa thực tại tăng cường vào ứng dụng (Augmented Reality).

5.3 Kết luận

Sau khi hoàn thành “Ứng dụng hướng dẫn du lịch Việt Nam trên Android” tôi đã củng cố thêm được rất nhiều kiến thức về lập trình trong lĩnh vực Android. Ngoài ra ứng dụng trong tương lai sẽ giúp mọi người có thể dễ dàng thực hiện các chuyến du lịch tự khám phá hơn, điều đấy cũng đã phần nào hiện thực được mong muốn của bản thân tơi chính là dùng cơng nghệ để giúp ích cho cuộc sống.

41

TÀI LIỆU THAM KHẢO

- Tài liệu tiếng Việt

[1] Trang Web du lịch Việt Nam:

http://www.dulichvietnam.com.vn/

[2] Trang Web các địa danh du lịch Việt Nam:

http://www.vietnamtourism.com//index.php/tourism/cat/05

- Tài liệu tiếng Anh

[3] Satya Komatineni, Dave MacLean: Pro. Android 4. Friendsof Apress, 2010 [4] Mark L. Murphy: Beginning Android 2. Springer-Verlag New York, 2010

[5] Tiêu Kim Cương: Bài giảng Lập trình Android nâng cao, trường Cao đẳng Cơng nghệ Thủ Đức, 2014

[6] Trang Web: https://developers.google.com/places/documentation/ [7] Trang Web: http://stackoverflow.com/

Một phần của tài liệu Hoàn thiện ứng dụng hướng dẫn du lịch Việt Nam trên Android (Trang 32 - 49)

Tải bản đầy đủ (PDF)

(49 trang)