20 Mockup giao diện chức năng thêm địa điểm

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 30 - 35)

3.1.4 Database

3.1.4.1 Bảng Province

Bảng này chứa thông tin các tỉnh của Việt Nam.

Tên cột Mô tả Kiểu dữ liệu Province_id Mã số Int

Province_name Tên cấp tỉnh String

23

3.1.4.2 Bảng District

Bảng này chứa thông tin các cấp huyện của Việt Nam.

Tên cột Mô tả Kiểu dữ liệu Location_id Mã số Int

Location_name Tên cấp huyện String Province_id Province_id của tỉnh Int

Bảng 3. 3 Mô tả database bảng District 3.1.4.3 Bảng Landscape, Food, Festival 3.1.4.3 Bảng Landscape, Food, Festival

Ba bảng này đều có cấu trúc giống nhau nhưng sử dụng để lưu các loại dữ liệu khác nhau như: phong cảnh, đặc sản, lễ hội.

Tên cột Mô tả Kiểu dữ liệu

id Mã số Int

address Địa chỉ String closing Giờ đóng cửa String opening Giờ đóng cửa String description Mô tả ngắn String onestar Số lượt xếp hạng 1 sao Int twostar Số lượt xếp hạng 2 sao Int threestar Số lượt xếp hạng 3 sao Int fourstar Số lượt xếp hạng 4 sao Int fivestar Số lượt xếp hạng 5 sao Int highestPrice Giá cao nhất Int lowestPrice Giá thấp nhất Int website Địa chỉ trang web chứa

thông tin về địa điểm

image Liên kết hình ảnh String

name Tên String

latLocation Vĩ độ của vị trí double longLocation Kinh độ của vị trí double locationID Location_id của đơn vị Int

24

hành chính cấp huyện, tương ứng với bảng District

Bảng 3. 4 Mô tả database bảng Landscape, Food, Festival 3.1.4.4 Bảng Version 3.1.4.4 Bảng Version

Tên cột Mô tả Kiểu dữ liệu VersionData Phiên bản hiện tại của dữ

liệu.

String

Bảng 3. 5 Mô tả database bảng Version

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.

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 30 - 35)