Tải bản đầy đủ
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ANDROID GHI LẠI DỮ LIỆU CHUYỂN ĐỘNG VÀ LƯU TRỮ TRÊN GAE

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ANDROID GHI LẠI DỮ LIỆU CHUYỂN ĐỘNG VÀ LƯU TRỮ TRÊN GAE

Tải bản đầy đủ

3.1.3. Phân tích thiết kế phần mềm
3.1.3.1.

Phân tích hệ thống

 Hệ thống bao gồm (yêu cầu) các chức năng sau:
• Phân công một ID thiết bị duy nhất
• Cập nhật tọa độ (x,y) của mỗi thiết bị mỗi khi thiết bị đó di chuyển
• Hiển thị tọa độ trên bản đồ Google
• Kết hợp 3 thuộc tính x,y,mốc thời gian cho mỗi mẫu dữ liệu
 Thành phần dữ liệu:
- ID duy nhất của thiết bị: thành phần này là duy nhất cho mỗi thiết bị và nên
được lấy ra khi khởi động chương trình;
- Kết hợp các giá trị phụ thuộc vào thời gian (x,y), đối tượng nên chứa một
danh sách gồm 3 thành phần (x, y, mốc thời gian) sau đó tải lên đến cơ sở dữ
liệu trung tâmGAE.
Trong thời hạn phương pháp, các lớp thiết bị nên mở rộng các MapActivity
được xác định trước trong các API của Google, hỗ trợ vị trí âm mưu trên đầu
trang của GoogleMaps.
3.1.3.2.

Biểu đồ Use Case

 Biểu đồ Use Case tổng quát:

Nguoi su dung

Dinh vi tin hieu GPS

Hình 3.1: Biểu đồ Use Case tổng quát
Hình 3.1 minh họa các trường hợp sử dụng đơn giản của chương trình .
Người dùng tương tác với thiết bị thông qua ứng dụng. Trong hình này, các
trường hợp sử dụng chính là để lấy dữ liệu GPS cùng với các yếu tố mốc thời
gian. Trường hợp này sử dụng tương tác với các nhân tố bên ngoài, cụ thể là
người sử dụng. Ngoài ra, hệ thống này sau đó thường xuyên gửi dữ liệu đến cơ
sở dữ liệu trung tâm GAE , để sau đó xử lý và khai phá dữ liệu.

48

 Biểu đồ Use Case chi tiết:

Gui du lieu len GAE

<>

Hien thi du lieu
<>
Nguoi su dung

Dinh vi tin hieu GPS
<>
Cai dat thoi gian luu vi tri

Hình 3.2: Biểu đồ Use Case chi tiết
• Đặc tả Use Case “Hien thi du lieu” :
- Mục đích: Người sử dụng muốn xem các vị trí dịch chuyển của mình
- Tác nhân: Người sử dụng
- Mô tả chung: Sau mỗi lần người sử dụng di chuyển, cứ 2 phút (thời gian
mặc định) hệ thống sẽ lưu lại vị trí (kinh độ, vĩ độ, thời gian) tại file
datn.dat trong máy điện thoại của người sử dụng. Và nếu người sử dụng
chọn chức năng “Hien thi du lieu” thì hệ thống sẽ hiển thị các lá cờ đánh
dấu các vị trí mà người dùng đã đi qua.
- Luồng sự kiện chính:
Hành động của tác nhân
1. Chọn chức năng “Hien

Phản ứng của hệ thống

thi du lieu”
1. Hệ thống hiển thị dữ liệu cho
người sử dụng xem

• Đặc tả Use Case “Gui du lieu len GAE” :

49

- Mục đích: Người sử dụng muốn gửi dữ liệu(tọa độ, thời gian) về các vị
trí dịch chuyển của mình lên CSDL lưu trữ trên GAE
- Tác nhân: Người sử dụng
- Mô tả chung: Sau mỗi lần người sử dụng di chuyển, cứ 2 phút( thời gian
mặc định) hệ thống sẽ lưu lại vị trí (kinh độ,vĩ độ, mốc thời gian) tại file
thoigian.dat trong máy điện thoại của người sử dụng. Và nếu người sử
dụng chọn chức năng “Gui du lieu len GAE” thì hệ thống sẽ gửi dữ liệu
lưu trong file thoigian.dat và lưu trữ lên cơ sở dữ liệu của Google App
Engine. Sau mỗi lần gửi dữ liệu thì hệ thống sẽ xóa dữ liệu cũ đi.
- Luồng sự kiện chính:
Hành động của tác nhân
1. Chọn chức năng “Gui du

Phản ứng của hệ thống

lieu len GAE “
2.Hệ thống kiểm tra xem có dữ
liệu trong máy không :
2.1. Nếu máy điện thoại không có
dữ liệu thì hệ thống sẽ thông báo
“Du lieu trong”
2.2. Nếu có dữ liệu hệ thống sẽ tiến
hành kiểm tra kết nối mạng:
2.2.1. Nếu có mạng hệ thống sẽ
gửi DL lên GAE
2.2.2. Nếu không có mạng hệ
thống sẽ thông báo “không có
mạng” và hủy việc gửi dữ liệu
3. Thông báo chờ kết quả

• Đặc tả Use Case “Cai dat thoi gian luu vi tri”:

50

- Mục đích: Người sử dụng muốn thiết lập khoảng thời gian bao lâu thì
lưu vị trí một lần, mặc định của hệ thống là cứ 2 phút dịch chuyển thì lưu
lại một lần
- Tác nhân: Người sử dụng
- Mô tả chung: Sau mỗi lần người sử dụng di chuyển, cứ 2 phút( thời gian
mặc định) hệ thống sẽ lưu lại vị trí (kinh độ,vĩ độ, mốc thời gian) tại file
thoigian.dat trong máy điện thoại của người sử dụng. Và nếu người sử
dụng chọn chức năng “Cai dat thoi gian luu vi tri” thì hệ thống sẽ hiển
thị form nhập liệu cho phép người sử dụng nhập thời gian muốn lưu vị trí.
- Luồng sự kiện chính:
Hành động của tác nhân
1. Chọn chức năng “Thiet

Phản ứng của hệ thống

lap”
2.Hệ thống

hiển thị form nhập

liệu
3.Người sử dụng nhập khoảng
thời gian muốn lưu vị trí.
4.Hệ thống cập nhật khoảng thời
gian mới .

51

3.1.3.3.

Biểu đồ lớp cho UseCase “Dinh vi tin hieu”
<>
MapActivity
+onCreat(): any(idl)
+isRouteDisplayed(): boolean(idl)

<>
Device
+DeviceID: String(idl)
+GPSDataList
+MapView
+MapController
+LocationManager
+LocationListerner

1

*

<>
GPSData
+x: long(idl)
+y: long(idl)
+timestamp

1

1
<>
LocationListener

<>
GPSLocationListener

+onLocationChanged()

+onLocationChanged()
+onProvideDisabled()
+onProvideEnable()
+onStatusChanged()
+uploadData()

Hình 3.3: Biểu đồ lớp
Hình 3.3 cho thấy cấu trúc lớp cơ bản trong sơ đồ này. Các thiết bị kế thừa lớp

MapActivity được đưa ra bởi các API của Google để hỗ trợ các nhiệm vụ chính:
nhận được dữ liệu GPS thường xuyên và cập nhật vào dữ liệu thành viên
GPSDataList. Danh sách dữ liệu này bao gồm 3 thành phần. Mỗi thành phần
được đại diện bởi lớp GPSData và được hình thành theo vĩ độ, kinh độ và mốc
thời gian. Thiết bị này cũng tham gia trong việc hiển thị dữ liệu Google Map
(thông qua hai thành viên dữ liệu MapView và MapController) để các vị trí hiện
tại có thể được vẽ trên đầu trang. Ngoài ra,thiết bị có thể được cảnh báo bất cứ
khi nào nó có sự dịch chuyển, thông qua các thành phần dữ liệu
LocationManager và LocationListener. Bất cứ lúc nào Android phát hiện một di
52

chuyển, nó sẽ gửi một thông báo cho các thiết bị kích hoạt phương thức
onLocationChanged được định nghĩa trong giao diện LocationListener. Trên thực
tế phương thức onLocationChanged của lớp GPSLocationListener thực hiện các
giao diện mà 3 thành phần kinh độ, vĩ độ, mốc thời gianđược ghi lại trong các
thành phần GPSDataList. Sau một khoảng thời gian được cấu hình sẵn, trong
các mã thực hiện là 2 phút, thiết bị sẽ tải lên danh sách (kinh độ-x, vĩ độ -y, mốc
thời gian ) để các máy chủ lưu trữ .
3.1.3.4.

Biểu đồ trình tự

 Biểu đồ trình tự cho User Case “Gửi dữ liệu lên GAE”:
: Nguoi su dung
ThuyLinh_AppGPSTrack

1 : Chon menu Gui du lieu()

Ctrl_ThuyLinh_AppGPSTrack

2 : Gui du lieu len GAE()

: CSDL GAE

3 : Luu du lieu vao CSDL GAE()

Hình 3.4: Biểu đồ trình tự cho Use Case “Gửi dữ liệu lên GAE”

53

 Biểu đồ trình tự cho User Case “ Hiển thị dữ liệu ”:

: Nguoi su dung
ThuyLinh_AppGPSTrack
1 : Chon menu "Hien thi DL"()

Ctrl_ ThuyLinh_AppGPSTrack

2 : Hien thi cac vi tri da di qua()

3 : Hien thi ket qua tra ve()
4 : Hien thi du lieu la cac la co ung voi cac vi tri()

Hình 3.5: Biểu đồ trình tự cho Use Case “Hiển thị dữ liệu”

54

 Biểu đồ trình tự cho Use Case “Cài đặt thời gian lưu vị trí ”:

: Nguoi su dung
ThuyLinh_AppGPSTrack
1 : Chon menu "Thiet lap"()

Ctrl_ ThuyLinh_AppGPSTrack

2 : Hien thi giao dien nhap thoi gian()

3 : Tra ve giao dien nhap thoi gian()
4 : Nhap khoang thoi gian luu vi tri()
5 : Luu thoi gian moi()

Hình 3.6: Biểu đồ trình tự cho Use Case “Cài đặt thời gian lưu vị trí”

55

3.1.4. Demo chương trình
3.1.4.1.

Demo chạy trên Android Amulator

Hình 3.7: Demo chạy trên máy áo Android Amulator
3.1.4.2.

Demo chạy trên máy SamSung Galaxy S8530:
Sau khi chúng ta Built project MyTrack_GPSmặc định trong thư mục:

MyTrack_GPS\bin\ sẽ tạo ra file MyTrack_GPS.apk vào trong máy
Smartphone chạy hệ điều hành Android, chúng ta cài ra rồi chạy sẽ có
giao diện như sau:

56

Hình 3.8: Giao diện ứng dụng khi cài đặt trên thiết bị

57

Hình 3.9: Giao diện hiển thị lịch sử định vị đường đi

58