Nghiên cứu hệ thống quản lý taxi và gọi taxi sử dụng thiết bị di động và client - server điện thoại... Thông tin chung: - Tên đề tài: Nghiên cứu hệ thống quản lý taxi và gọi taxi sử dụ
Trang 1TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
THAM GIA XÉT GIẢI THƯỞNG
Nghiên cứu hệ thống quản lý taxi và gọi taxi sử dụng
thiết bị di động và client - server điện thoại
Thuộc nhóm ngành khoa học: Công Nghệ Thông tin
TP Hồ Chí Minh, 3/2015
Trang 2Mẫu SV-13 Trang bìa phụ của báo cáo tổng kết đề tài
TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
THAM GIA XÉT GIẢI THƯỞNG
Nghiên cứu hệ thống quản lý taxi và gọi taxi sử dụng
thiết bị di động và client - server điện thoại.
Thuộc nhóm ngành khoa học: Công Nghệ Thông Tin
Dân tộc: Hoa
Lớp, khoa: TH 21 Công Nghệ Thông tin
Năm thứ: 3 /Số năm đào tạo: 6
Ngành học: Khoa học máy tính
Người hướng dẫn: TS Lê Xuân Trường
TP Hồ Chí Minh ,3/2015
Trang 3Mẫu SV-06 Thông tin kết quả nghiên cứu của đề tài
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỞ TP.HCM
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1 Thông tin chung:
- Tên đề tài: Nghiên cứu hệ thống quản lý taxi và gọi taxi sử dụng thiết bị
di động và client - server điện thoại
- Sinh viên thực hiện: Hàng Lễ Khánh
- Lớp: TH21 Khoa: Công Nghệ Thông Tin
Năm thứ: 3 Số năm đào tạo: 6
- Người hướng dẫn: Lê Xuân Trường
2 Mục tiêu đề tài:
Tạo ra hệ thống quản lý taxi và gọi taxi sử dụng thiết bị di động và client
- server điện thoại
3 Tính mới và sáng tạo:
4 Kết quả nghiên cứu:
Đã hoàn thành được kết nối client server , tải được google map, tính toán đường đi
5 Đóng góp về mặt kinh tế - xã hội, giáo dục và đào tạo, an ninh, quốc phòng và khả năng áp dụng của đề tài:
6 Công bố khoa học của sinh viên từ kết quả nghiên cứu của đề tài
(ghi rõ tên tạp chí nếu có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng
Trang 4Nhận xét của người hướng dẫn về những đóng góp khoa học của sinh
viên thực hiện đề tài (phần này do người hướng dẫn ghi):
Ngày tháng năm
Xác nhận của đơn vị
(ký tên và đóng dấu)
Người hướng dẫn
(ký, họ và tên)
Trang 5Mẫu SV-07 Thông tin về sinh viên chịu trách nhiệm chính thực hiện
Sinh ngày: 16 tháng 09 năm 1994
Nơi sinh: Tp Hồ Chí Minh
Lớp: TH21 Khóa: 2012
Khoa: Công Nghệ Thông Tin
Địa chỉ liên hệ: 57 Phan Văn Khỏe P2 Q6
Khoa:Công nghệ thông tin
Kết quả xếp loại học tập: Trung bình - khá
Sơ lược thành tích:
* Năm thứ 2:
Ngành học: Khoa Học Máy Tính
Khoa: Công Nghệ Thông Tin
Kết quả xếp loại học tập: Trung bình - khá
Sơ lược thành tích:
Ảnh 4x6
Trang 7Mục Lục
Chương 1: Hướng dẫn biên dịch 3
I Client (App Android) 3
1 Cài đặt môi trường lập trình Java 3
2 Cài đặt IDE (Eclipse) 6
3 Phần mềm giả lập máy ảo Android – Genymotion: 8
4 Biên dịch mã nguồn 15
II Server (App NET Quản lý các thông tin bên Client) 21
1 Cài đặt môi trường lập trình NET 21
2 Cài đặt SDK (Microsoft Visual Studio 2013) 21
3 Biên dịch mã nguồn 22
Chương 2 : Hướng dẫn cài đặt 24
I.Client (App Android) 24
1 Yêu cầu cấu hình điện thoại – tablet 24
2 Cài đặt App Android TaxiFare 24
II Server (App NET quản lý các thông tin bên Client) 31
1 Yêu cầu cấu hình máy tính 31
2 Cài đặt Server 31
Chương 3 : Hướng dẫn sử dụng 32
I Client (App Android) 33
1 Màn hình chính 33
2 Ước lượng 35
3 Thực tế 39
II Server (Quản lý thông tin Taxi) 59
1 Quản Lý Hãng Xe 60
2 Quản Lý Loại Xe 64
3 Quản Lý Cước 66
Chương 4 : Kết Luận 71
Mở Đầu:
Tổng quan tình hình nghiên cứu :
Hiện tại chúng em nghiên cứu vẫn còn sơ sài và chưa hoàn thiện về đề tài của chúng
Trang 8Mục tiêu đề tài
Nghiên cứu và phát triển hệ thống phần mềm Client – Server cung cấp dịch vụ gọi xe Taxi sử dụng bản đồ trên thiết bị Smartphone
Phương pháp nghiên cứu
Tìm hiểu về java để lập trình trên android
Tìm hiểu về kiến trúc client – server
Thu thập thong tin của các hãng taxi
Tìm hiểu lập trình các hàm api của google
Đối tượng và phạm vi nghiên cứu :
Cho những người sử dụng smartphone tính toán thời gian cũng như giá cả của các hãng taxi
Trang 9Chương 1: Hướng dẫn biên dịch
I Client (App Android)
1 Cài đặt môi trường lập trình Java
Trang 101.2 Thiết lập biến môi trường cho máy
Chuột phải Computer, chọn Properties, chọn tiếp Advanced system settings
Hộp thoại System Properties hiện lên, ở tab Advanced, chọn Environment
Variables…
Tiếp theo, ở khung System variables chọn New, nhập vào
Trang 11(C:\Program Files\Java\jdk1.7.0_25)
Click Ok để hoàn tất
Tiếp theo thêm giá trị với biến PATH trong mục System Variables chọn Edit
Sau đó thêm gia trị %JAVA_HOME%\bin
Click Ok tiếp để hoàn tất cấu hình
Kiểm tra lại cấu hình:
Vào cmd gõ java –version
Trang 12Cài đặt và thiết lập môi trường thành công
2 Cài đặt IDE (Eclipse)
Vào link sau để download về: Eclipse + ADT plugin
http://developer.android.com/sdk/index.html
Tiếp theo tự động chuyển trang sau:
Trang 13Sau khi download xong được file zip giải nén sau đó chạy Eclipse
Tiếp theo là sử dụng Android SDK Manager để download cài đặt bổ sung các gói
API, Tool cho Android
Trang 14Chọn các gói cần thiết để cài đặt cho việc lập trình, cũng như build ứng dụng.
3 Phần mềm giả lập máy ảo Android – Genymotion:
(Có thể không cần cài Genymotion mà sử dụng máy ảo có sẵn của Eclipse, nhưng máy ảo của Eclipse vừa nặng vừa có hạn chế một số tính năng, không tiện lợi, như chọn Current Location của thiết bị giả lập, trong việc xác định vị trí.)
Genymotion được thiết kế chạy trên nền VirtualBox chạy rất nhanh và đầy đủ tính
năng như máy thật Nó sẽ giúp chúng ta đơn giản hơn rất nhiều trong việc thiết lập và
sử dụng giả lập Android
Trang 15http://www.oracle.com/technetwork/server Lựa chọn cho phù hợp với hệ điều hành mình đang sử dụng Tải về xong thì cài
VirtualBox như cài phần mềm bình thường rồi chạy lên một lần
Tiếp theo tiến hành cài Genymotion:
- Tạo tài khoản theo link sau:
https://cloud.genymotion.com/page/customer/login/?next=/
- Vào link sau để tải Genymotion:
https://shop.genymotion.com/index.php?controller=order-opc
- Đăng nhập và tiến hành download (sử dụng phiên bản Free)
Sau khi download ta được ta tiến hành cài đặt bình thường Sau đó chạy file
genymotion.exe
Trang 16Giao diện chính của Genymotion
Trang 17Ở đây ta có máy ảo Google Nexus 4 – 4.3
Ta cần cấu hình đường dẫn các file thư mục liên quan để Genymotion hoạt động Vào mục Settings, quan tâm 2 tab: Virtual Box và ADB
• Tab Virtual Box
Trang 18• Tab ADB
Browse đến đường dẫn: thư mục ban đầu khi download có chứa Eclipse bundle-window ) Browse vào tận thư mục sdk
Trang 19(adt-Chạy máy ảo bằng cách: Chọn máy ảo xong ta bấm Play
Giao diện máy ảo:
Trang 20Tiếp theo ta cần nâng cấp máy ảo để có thể chạy được các dịch vụ của Google, như Google Maps, Google App Store…
Tiến hành thực hiện theo link sau:
http://forum.xda-developers.com/showthread.php?t=2528952Sau khi hoàn tất ta sẽ được máy ảo hoàn chỉnh, có đầy đủ các tính năng, Maps, Mail, Google+… có thể cài cả được App trên Google Store
Trang 214 Biên dịch mã nguồn
4.1 Import project
App TaxiFare Android gồm có 3 project:
- appcompat_v7 (thư viện hổ trợ)
- google-play-services_lib (thư viện hổ trợ)
- taxifare (main)
Tiến hành Import cả 3 Project vào Eclipse
Trang 22Nếu có sau khi import nếu có lỗi xẩy ra, tiến hành fix lỗi trong các trường hợp sau:
4.1.1 Import đúng thư viện
Chuột phải Project taxifare chọn Properties tiến hành import thư viện
Cần import 2 thư viện đính kèm hổ trợ là appcompat_v7 và services_lib Nếu thư viện có lỗi (x đỏ)
Trang 23google-play-Thư viện không chính xác ta Remove cái không đúng đi và Add, Import lại
Chọn Apply rồi Click Ok
4.1.2 Lỗi biên dịch khi thiếu thư viện liên quan đến Service Google
Trang 24Ta fix lỗi như sau, để chuột ngay tại vùng bị lỗi (com.google.android.gms…), sau
đó nhấn phím “F2”, chọn tiếp Fix project setup (dòng cuối)
Tiếp theo, chọn Add archive… (không chọn Add project…)
Trang 25Tiếp theo, Eclipse sẽ tự động Add đúng thứ ta cần, Project sẽ hết lỗi
Chọn project taxi, bấm Ctrl + F11, hay làm như sau:
Trang 26Giao diện ứng dụng chạy trên máy ảo Genymotion
Trang 27II Server (App NET Quản lý các thông tin bên Client)
1 Cài đặt môi trường lập trình NET
Hệ thống yêu cầu NET Framework từ 4.5 trở lên
Vào link sau để tải Micrsoft NET Framework 4.5
http://www.microsoft.com/en-us/download/details.aspx?id=30653Tiến hành cài đặt bình thường, Next … Next … Finish
Nếu như máy chưa có NET Framework 4.0 hay thấp hơn nữa thì ta cần tiến hành cài các phiên bản NET Framework từ thấp đến cao (theo thứ tự)
Download và tiến hành cài đặt theo link sau:
Trang 28Để download VS 2013 vào link sau, tiến hành download và cài đặt
http://www.visualstudio.com/downloads/download-visual-studio-vs
VS 2013 là tool có tính phí, ta có thể tải bảng dùng thử tại đây
3 Biên dịch mã nguồn
3.1 Build ứng dụng
Vào trong thư mục chứa mã nguồn server chạy file Server.sln
Tiến hành bấm Right Click vào Solution chọn Build Solution hay Bấm F6
Trang 29Hoàn tất việc Build ứng dụng
3.2 Chạy ứng dụng
Bấm Start hay bấm F5 để thực thi chạy ứng dụng
Ứng được kết nối với Webservice để lấy thông tin về, tùy đường truyền kết nối mạng mà ứng dụng có thể delay đôi chút
Giao diện ứng dụng sau khi được thực thi
Trang 30Chương 2 : Hướng dẫn cài đặt
I.Client (App Android)
1 Yêu cầu cấu hình điện thoại – tablet
- Android phiên bản từ 4.0 trở lên
- CPU: Dual-core 1 GHz Cortex-A9
- Bộ nhớ: 16 GB, 1 GB RAM
- Máy có hổ trợ kết nối Internet, GPS
2 Cài đặt App Android TaxiFare
2.1 Cài đặt trên điện thoại - tablet
Android cung cấp cơ chế tự động phát sinh file cài đặt với đuôi mở rộng là apk
Trang 31Ta chép file taxifare.apk này vào điện thoại rồi tiến hành cài đặt
Trước tiên để cài các file apk nằm ngoài Google App Store ta cần bật chế độ Unknown sources
(Setting → Security → Unknown sources)
Trang 32Bấm vào file taxifare.apk, hộp thoại cài đặt hiện lên, yêu cầu 1 số quyền hệ thống
Bấm tiếp Install, đợi máy tự động cài đặt
Trang 33Hoàn tất cài đặt, chạy ứng dụng
2.2 Cài đặt trên máy ảo Genymotion
Trang 34Start máy ảo trên Genymotion
Ta chép kéo thả file taxifare.apk này vào máy ảo Genymotion
Trang 35File đang được cài đặt
Cài đặt hoàn tất, icon taxifare hiển thị trên máy ảo
Trang 36Chạy ứng dụng
Trang 37II Server (App NET quản lý các thông tin bên Client)
1 Yêu cầu cấu hình máy tính
- Bộ xử lý Core 2 Duo 1.86 GHz (32- hoặc 64-bit)
- Micrsoft NET Framework 4.5
- Ram: tối thiểu là 1Gb
- Hỗ trợ đối với đồ họa DirectX 9 với bộ nhớ 128MB (dành cho giao diện Aero)
2 Cài đặt Server
Giải nén Server.rar ta được thư mục chứa project
Môi trường lập trình NET C# cung cấp cơ chế tự tạo file exe sau khi Build rồi
Start project
Trang 38Thực thi file Server.exe thì ứng dụng sẽ được chạy, do lấy thông tin từ web service
cung cấp nên khi start Server sẽ mất 1 khoảng thời gian chờ nhất định (khoảng 5s)
Trang 39I Client (App Android)
Tiền điều kiện:
Các chức năng ứng dụng đều cần máy kết nối internet, riêng chức năng Thực tế cần thêm máy bật thêm GPS để xác định vị trí người sử dụng
Lưu ý:
Khi bấm “Kết Quả” từ Khởi tạo – Ước lượng sang Kết quả – Ước lượng, hay bấm
“Start” từ Khởi tạo – Thực tế sang Kết quả – Thực tế
Nếu như không được thì là do Service not Available, ta chỉ cần Reboot lại máy thì ứng dụng taxifare sẽ hoạt động bình thường
Danh sách các phần hướng dẫn:
- Màn hình chính
- Ước lượng
o Khởi tạo – Ước lượng
o Kết quả – Ước lượng
o Xem địa điểm hãng trên google maps
- Thông tin tác giả
1 Màn hình chính
Trang 40- Thoát: ta sẽ thoát hẳn ứng dụng
- Cài đặt: dẫn ta đến nơi thiết lập kết nối mạng của trình mặc định máy
Trang 41Ở màn hình chính có 4 button cho ta chọn lựa:
- Ước lượng (ước lượng giá cả, đường đi các hãng taxi sau khi nhập điểm đầu, điểm cuối, chọn hãng taxi)
- Thực tế (có ước lượng giá và thực tế đi theo thời gian thực,Tracking GPS, vẽ bản đồ ước lượng và thực tế)
- Hãng xe (các thông tin về hãng xe như logo, giá cước, số điện thoại, địa chỉ)
- Thông tin (thông tin về nhóm thực hiện ứng dụng)
2 Ước lượng
Màn hình chính bấm button “Ước Lượng” để vào
2.1 Khởi tạo – Ước lượng
2.1.1 Giới thiệu
Trang 42- Ở 2 ô Nhập đó là AutoCompleteTextView sẽ tự động lưu lại địa điểm nhập sau khi
nhấp button “Kết quả” và lần sau sẽ tự động nhắc cho chúng ta địa điểm nếu như ta
nhập các kí tự đầu tiên trùng với địa điểm trước đó
- Do lần đầu tiên sử dụng nên không có nhắc nhở chúng ta về địa điểm cần nhập, ở lần
sử dụng thứ 2 trở đi sẽ có nhắc nhở, tạo điều kiện cho ta thao tác nhanh hơn, ứng dụng trở nên “Smart” hơn
- Nếu như ta không chọn hãng Taxi thì ứng dụng sẽ tự động lấy tất cả các hãng
2.1.2 Thực thi
Trang 43Bấm “Kết quả” để xem Kết quả - Ước lượng
2.2 Kết quả – Ước lượng
Màn hình Khởi tạo – Ước lượng ta sau khi nhập các thông tin bấm “Kết quả”
Trang 44- (1) Button hổ trợ, bấm để vào icon trên để quay về trang Khởi tạo – Ước lượng
- (2) Map vẽ đường đi do Google hổ trợ, có thể phóng to, thu nhỏ, di chuyển Map
- (3) Số km dự tính đi từ điểm đầu đến điểm cuối
- (4) Thông tin hãng taxi kèm với giá + số chỗ trên xe, tại đây ta có thể kéo xuống để xem thêm các hãng, khi đó ta sẽ có cái nhìn tổng quát về ước lượng đuòng đi, giá cả,
để quuyết định chọn xe nào hãng nào cho hợp lý
- (5) Button Go sẽ chuyển ta sang trang Khởi tạo – Thực tế, tại đây trường số chỗ, hãng
Trang 46- Thoát: ta tạm thoát dialog thông báo
- Cài đặt: dẫn ta đến nơi thiết lập GPS của trình mặc định máy
Trang 47Quay lại ứng dụng
Trang 48- (1) Biểu tượng GPS được kích hoạt
- (2) Button hổ trợ, bấm để vào icon trên để quay về trang màn hình chính
Trang 49o (1) Kích hoạt chức năng GPS của Genymotion
o (2) Bật GPS sang On
o (3) Bấm để hiện Dialog Map
▪ (1) Nhập địa chỉ muốn là địa chỉ của người dùng đang đứng
▪ (2) Bấm Search để Genymotion Map tìm địa chỉ
Trang 503.1.2 Thực thi
Nhận thấy có popup gợi ý, vì lần trước ta thực thi ở “Khởi tạo – Ước lượng” ta đã
điền và khi Click “Kết quả” thì ứng dụng sẽ lưu vào bộ nhớ và sẽ gợi ý
Bấm Start để thực thi xem kết quả, qua màn hình “Kết quả - Thực tế”
3.2 Kết quả - Thực tế
Trang 52o (2.1): Đồng hồ chạy thực tế tính thời gian xe chạy (Realtime)
o (2.2): Đoạn đường thực tế đi được, đoạn đường này dựa trên vị trí ban đầu ta đi, được cập nhật liên tục khi ta di chuyển Ứng dụng liên tục tracking GPS và tính số km đi được
o (2.3): Số tiền thực tế được tính dựa trên giá cước thực tế và đoạn đường đi thực tế ở (2.2)
- (3): Button hỗ trợ, nếu xe có dùng đèn đỏ ta có thể tạm Stop để đồng hồ tính thời gian chạy ở mục (2.1) (Start → Stop) Bấm 1 lần nữa thì Stop → Start resume đồng hồ Khi đến nơi ta dùng luôn thì ta có thể bấm Stop và kết thúc quá trình đi, khi này ta xem đoạn đường đi mất bao nhiêu thời gian, đi bao xa, hết bao nhiêu tiền
3.2.2 Tab bản đồ
➢ Ban đầu, ngay tại vị trí người dùng bấm “Start”
Trang 53- (1): Điểm đỏ tượng trưng cho vị trí người sử dụng
- (2): Ứng dụng vẽ đường đi từ vị trí người sử dụng đến vị trí đích người ử dụng muốn đến (Đường dự tính – cố định 1 đường duy nhất đó)
Ghi chú:
Đường màu đỏ trên bản đồ là đường dự tính, được vẽ lên khi người dùng nhập
điểm đến và gọi button “Start” , ứng dụng tự động lấy địa chỉ hiện tại người dùng
đứng, kết hợp với điểm đến, vẽ lên bản đồ
➢ Tiếp theo
Sau khi xe lăn bánh, vị trí hiện tại của người sử dụng thay đổi Ứng dụng sẽ