2.4 Phân tích và thiết kế chức năng
2.4.1 Quản lý chức năng liên quan đến GPS
Hình 9 – Biểu đồ lớp quản lý chức năng liên quan đến GPS
Lớp NearestUser
Thuộc tính Mô tả thuộc tính
MapHandler handling Đây là đối tượng MapHandler được sử dụng thông qua lớp cho các phương thức khác nhau
double mLongitude Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức khác nhau
double mLatitude Đây là một thuộc tính được sử dụng thông qua lớp cho các phương thức khác nhau
GoogleMap map Đây là đối tượng GoogleMap được sử dụng thông qua lớp cho các phương thức khác nhau
LocationClient mLocationClient
Đây là đối tượng LocationClient được sử dụng thông qua lớp cho các phương thức khác nhau
ArrayList<LatLng>
markerPoints
Đây là đối tượng ArrayList được sử dụng thông qua lớp cho các phương thức khác nhau
LocationRequest mLocationRequest
Đây là đối tượng LocationRequest được sử dụng thông qua lớp cho các phương thức khác nhau
ArrayList<LatLng>
listPoint
Đây là đối tượng ArrayList được sử dụng thông qua lớp cho các phương thức khác nhau
Activity activity Đây là đối tượng Activity được sử dụng thông qua lớp cho các phương thức khác nhau
Double
radiusKilometer
Đây là một thuộc tính được sủ dụng thông qua lớp cho các phương thức khác nhau
Phương thức DrawNearestUsers(ArrayList<LatLng>
listPoint,LocationClient mLocationClient, Activity activity,ArrayList<LatLng> markerPoints,GoogleMap map,LocationRequest
mLocationRequest,SupportMapFragment fm,double mLatitude,double mLongitude,double radiusKilometer) Mô tả phương thức Bằng cách cho phép người lập trình nhập vào dữ liệu về
mảng các tọa độ, phạm vi muốn nhìn thấy những người dùng khác, ta có thể lấy được vị trí của những người sử dụng gần nhất so với một vị trí xác định và hiển thị trên Google Map
Phương thức onLocationChanged(Location location)
Mô tả phương thức Sử dụng GPS để cập nhật vị trí hiện tại của người dùng thường xuyên, kể cả trường hợp người dùng di chuyển, vị trí mới sẽ được cập nhật
Phương thức getLocation()
Mô tả phương thức Sử dụng GPS để lấy vị trí hiện tại của người sử dụng và vẽ lên bản đồ
Lớp ShortestWay
Thuộc tính Mô tả thuộc tính
MapHandler handling Đây là một đối tượng MapHandler được sử dụng thông qua lớp cho các phương thức khác nhau
GoogleMap map Đây là một đối tượng GoogleMap được sử dụng thông qua lớp cho các phương thức khác nhau
Phương thức findShortestWay(LatLng origin, LatLng dest)
Mô tả phương thức Bằng cách cho phép người lập trình nhập vào kinh độ và vĩ độ của điểm bắt đầu và điểm kết thúc, ta có thể vẽ được đường đi giữa hai điểm trên Google Map
Phương thức List<List<HashMap<String, String>>> parse()
Mô tả phương thức Bằng cách tải tệp tin JSON từ Google Map, ta có thể phân tích JSON để lấy một chuỗi các điểm từ điểm bắt đầu đến điểm kết thúc. Sau đó, ta có thể dùng nó để vẽ đường đi Phương thức List<LatLng>decodePoly(String encoded)
Mô tả phương thức Bằng cách lấy dữ liệu đã được phân tích từ tệp tin JSON tải từ Google Map, ta giải mã dữ liệu
Lớp MapHandler
Phương thức servicesConnected(Activity activity)
Mô tả phương thức Kiểm tra Google Play Service có được cài đặt hay chưa và phiên bản của nó có thích hợp hay không
Phương thức drawMarker(LatLng point,ArrayList<LatLng>
markerPoints,GoogleMap map , BitmapDescriptor color) Mô tả phương thức Bằng cách cho phép người lập trình nhập vào dữ liệu về tọa
độ cần thể hiện trên bản đồ cũng như các thông tin cần thiết, ta có thể vẽ được một điểm trên bản đồ
Phương thức getDistance(LatLng firstPoint, LatLng secondPoint)
Mô tả phương thức Bằng cách nhập vào tọa độ của hai điểm bất kỳ, ta có thể lấy khoảng cách giữa hai điểm từ tệp tin JSON tải từ Google Map và vẽ nó trên bản đồ
Phương thức getLocationOfNecessaryPlace(Activity activity,String nameOfPlace)
Mô tả phương thức Bằng cách nhập vào tên của địa điểm muốn biết vị trí, ta có thể vẽ được địa điểm đó trên Google Map
Lớp DownloadTask
Phương thức doInBackground(String... url) Mô tả phương thức Tải dữ liệu bằng thread
Phương thức onPostExecute(String result)
Mô tả phương thức Sử dụng thread có UI sau đó thực hiện trong phương thức doInBackground()
Lớp ParserTask
Phương thức List<List<HashMap<String, String>>> doInBackground() Mô tả phương thức Phân tích dữ liệu từ thread không có giao diện
Phương thức onPostExecute(List<List<HashMap<String, String>>>
result)
Mô tả phương thức Thực hiện trong thread có UI sau đó thì phân tích ra quá trình