1. Trang chủ
  2. » Công Nghệ Thông Tin

XÂY DỰNG ỨNG DỤNG QUẢN LÝ ĐẶT XE TAXI TRÊN THIẾT BỊ DI ĐỘNG CHẠY NỀN TẢNG ANDROID

34 817 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 2,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hiện nay, taxi được coi là phương tiện công cộng phổ biến trên thế giới. Hàng triệu người di chuyển bằng phương tiện này mỗi ngày. Ở Việt Nam, ngoài các hình thức xe taxi truyền thống, thì hình thức xe taxi công nghệ có vị trí quan trọng kể từ khi xuất hiện những hãng xe như Uber, Grab. Như vậy,

Trang 1

TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN

- -TIỂU LUẬN HỌC PHẦN LẬP TRÌNH DI ĐỘNG

Tên đề tài:

XÂY DỰNG ỨNG DỤNG QUẢN LÝ ĐẶT XE TAXI TRÊN THIẾT BỊ

Trang 2

MỤC LỤC

Phần 1 MỞ ĐẦU 3

1 Lý do chọn đề tài 3

2 Mục tiêu của đề tài 3

3 Đối tượng và phạm vi nghiên cứu 3

4 Phương pháp nghiên cứu 4

Phần 2 NỘI DUNG NGHIÊN CỨU 5

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 5

1.1 GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 5

1.1.1 Giới thiệu 5

1.1.2 Kiến trúc 6

1.1.2.1 Linux kernel 6

1.1.2.2 Libraries 6

1.1.2.3 Android Runtime 6

1.1.2.4 Application Framework 7

1.1.2.5 Applications 7

1.2 NGÔN NGỮ LẬP TRÌNH 7

1.3 GIỚI THIỆU VỀ JSON 7

1.4 GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 8

1.5 CÔNG CỤ LẬP TRÌNH ANDROID STUDIO 8

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 10

2.1 ĐẶC TẢ BÀI TOÁN 10

2.1.1 Chức năng chính 10

2.1.1.1 Chức năng của các Khách Hàng 10

2.1.2.2 Chức năng của các Hãng Xe 10

2.1.2 Mô hình hoạt động của Hãng Xe và Khách Hàng 10

2.1.2.1 Biểu đồ UseCase với Khách Hàng 10

2.1.2.2 Biểu đồ UseCase dành cho Hãng Xe 11

2.1.2.3 Biểu đồ xử lý 12

2.1.2.3.1 Một số mô hình xử lý đăng nhập cho khách hàng và hãng xe 12

2.1.2.3.2 Một số mô hình xử lý đăng ký cho khách hàng và hãng xe 13

2.1.2.3.3 Mô hình xử lý đấu giá taxi 14

2.2 PHÂN TÍCH THIẾT KẾ 15

2.2.1 Thiết kế cơ sở dữ liệu 15

2.2.2 Thiết kế chi tiết 16

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH 20

3.1 GIAO DIỆN CHÍNH 20

3.1.1 Giao diện bắt đầu vào app 20

3.1.2 Giao diện khách hàng 22

3.1.3 Giao diện hãng taxi 27

3.2 SỬ DỤNG CHƯƠNG TRÌNH 31

Phần 3 KẾT LUẬN 32

1 Những vấn đề đạt được 32

2 Những vấn đề còn hạn chế 32

Phần 4 TÀI LIỆU THAM KHẢO 33

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1: Sơ đồ hệ điều hành Android 5

Hình 2: Công cụ lập trình Androi Studio 7

Hình 3: Giao diện Android Studio 8

Hình 4: Chức năng Đăng kí, Đăng nhập dành cho khách hàng 10

Hình 5: Chức năng dành cho khách hàng đã đăng nhập 10

Hình 6: Chức năng dành cho hãng xe chưa có tài khoản 11

Hình 7: Chức năng dành cho hãng xe đã có tài khoản 11

Hình 8: Mô hình xử lý đăng nhập cho khách hàng và hãng xe 12

Hình 9: Mô hình xử lý đăng ký cho khách hàng và hãng xe 13

Hình 10: Mô hình xử lý đấu giá taxi 14

Hình 11: Cơ sở dữ liệu và mối quan hệ 15

Hình 12: Giao diện bắt đầu khởi động app 19

Hình 13: Giao diện đăng nhập 20

Hình 14: Giao diện đăng ký 21

Hình 15: Giao diện đặt xe 22

Hình 16: Giao diện xác nhận đặt xe 23

Hình 17: Giao diện menu app 24

Hình 18: Giao diện hiển thị thông tin tài khoản 24

Hình 19: Giao diện đặt nhanh 25

Hình 20: Giao diện đơn đặt xe 26

Hình 21: Giao diện menu hãng taxi 27

Hình 22: Giao diện hiện thị danh sách đăng ký 28

Hình 23: Giao diện đặt xe 29

Hình 24: Giao diện hiễn thị danh sách đấu giá thành công 30

Trang 4

Phần 1 MỞ ĐẦU

1 Lý do chọn đề tài

Hiện nay, taxi được coi là phương tiện công cộng phổ biến trên thế giới Hàngtriệu người di chuyển bằng phương tiện này mỗi ngày Ở Việt Nam, ngoài các hìnhthức xe taxi truyền thống, thì hình thức xe taxi công nghệ có vị trí quan trọng kể từ khixuất hiện những hãng xe như Uber, Grab Như vậy, khách hàng đều mong muốn cómột mức giá hợp lý khi sử dụng phương tiện này Cùng với đó, như ta đã biết, các thiết

bị cầm tay đã trở nên mạnh mẽ và rất phổ biến Trong vài năm trở lại đây, hệ điềuhành Android ra đời và trở thành nền tảng điện thoại thông minh phổ biến nhất thếgiới, với sự kế thừa những ưu việt của các hệ điều hành ra đời trước và sự kết hợp củanhiều công nghệ tiên tiến nhất hiện nay Những ưu điểm dễ thấy nhất của Androidchính là khả năng tùy biến nhanh chóng, dễ làm quen, ứng dụng hỗ trợ phong phú,tương thích với đa cấu hình phần cứng của các nhà sản xuất Dù đã hay chưa từng sửdụng smartphone Android thì bạn cũng không cần quá lo lắng về việc thay đổi Hầunhư tất cả những smartphone sử dụng hệ điều hành Android đều rất dễ sử dụng, đơngiản trong tùy biến theo sở thích cá nhân, cùng như có rất nhiều ứng dụng đề thỏa mãnnhu cầu của từng người dùng Đồng thời Android có mã nguồn mở đã cho phép cácnhà phát triển thiết bị mạng di động và các lập trình viên được điều chỉnh và phân phốiAndroid một cách tự do Bởi vậy trước nhu cầu và lợi thế đó, nhóm em quyết địnhnghiên cứu và xây dựng ứng dụng: Xây dựng ứng dụng quản lý đặt xe taxi trên thiết bị

di động chạy nền tảng Android

2 Mục tiêu của đề tài

- Tìm hiểu ngôn ngữ lập trình Android

- Xây dựng ứng dụng đặt xe

- Có thể ứng dụng kiến thức vào những dự án sau này

3 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu:

+ Ngôn ngữ lập trình Android

+ Sử dụng Json

Trang 5

- Phạm vi nghiên cứu:

Nghiên cứu các vấn đề xoay quanh việc lập trình Android, cơ sở dữ liệu SQLServer Từ đó xây dựng ứng dụng đặt xe ngay trên Smartphone

4 Phương pháp nghiên cứu

 Phương pháp nghiên cứu tự luận: Nghiên cứu, đọc các tài liệu, giáo trình liên

quan tới kỹ thuật lập trình Android.

 Phương pháp tổng kết kinh nghiệm: Qua việc nghiên cứu tài liệu, giáo trìnhrút ra kinh nghiệm để xây dựng chương trình trắc nghiệm

 Phương pháp lấy ý kiến chuyên gia: Lấy ý kiến giảng viên trực tiếp hướng dẫn

để hoàn thiện về mặt nội dung cũng như hình thức của đề tài

Trang 6

Phần 2 NỘI DUNG NGHIÊN CỨU

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID

1.1.1 Giới thiệu

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho cácthiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.Ban đầu, Android được phát triển bời Tổng công ty Android, với sự hỗ trợ tài chính từGoogle và sau này được chính Google mua lại vào năm 2005

Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bịcầm tay mờ: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông vớimục tiêu đẩy mạnh các tiêu chuẩn mờ cho các thiết bị di động Chiếc điện thoại đầutiên chạy Android được bán vào tháng 10 năm 2008

Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổbiến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty côngnghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, vàgiá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả là mặc dùđược thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV,máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệmột đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở đềtạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng caocấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầuchạy hệ điều hành khác

Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thờiđiểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệulượt kích hoạt mỗi ngày Sự thành công cùa hệ điều hành cũng khiến nó trở thành mụctiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộcchiến điện thoại thông minh" giữa các công ty công nghệ

Trang 7

1.1.2.2 Libraries

Tầng này là một tập hợp các thư viện bao gồm trình duyệt web mã nguồn mờ sửdụng WebKit engine, thư viện libe, cơ sở dữ liệu SQLite là một kho lưu trữ hữu íchcho việc lưu trữ và chia sẻ dữ liệu của ứng dụng, có các thư viện để chơi/ghi lại âmthanh và video, các thư viện SSL chịu trách nhiệm về bảo mật Internet, v.v

1.1.2.3 Android Runtime

Đây là phần thứ ba của kiến trúc Android Phần này cung cấp một thành phầnquan trọng được gọi là Dalvik Virtual Machine – một loại máy ảo Java được thiết kếđặc biệt và tối ưu hóa cho Android

Android Runtime cũng cung cấp một tập các thư viện lỗi cho phép các nhà pháttriển ứng dụng Android viết các ứng dụng Android sử dụng ngôn ngữ lập trình Java

Trang 8

1.1.2.4 Application Framework

Tầng Application Framework cung cấp nhiều dịch vụ cấp cao hơn cho các ứngdụng trong ở dạng các class trong Java Các nhà phát triển ứng dụng được phép sửdụng các dịch vụ này trong các ứng dụng của họ (Ví dụ: dịch vụ kết nối Internet, dịch

vụ SMS, )

1.1.2.5 Applications

Bạn sẽ viết ứng dụng và các ứng dụng mà bạn viết được cài đặt ở tầng này

Ví dụ: Angry Bird, Facebook, Viber, v.v

1.2 NGÔN NGỮ LẬP TRÌNH

Ngôn ngữ lập trình chính thức của Android là Java Mặc dù các ứng dụng trênAndroid được phát triển dựa trên nền tảng Java, nhưng Android không hỗ J2ME vàJ2SE, là hai ngôn ngữ lập trình phổ dụng cho các thiết bị di động

Dựa trên máy ảo Java của Sun, Google đã tinh chỉnh và phát triển nên máy ảoDalvik để biên dịch mã Java với tốc độ biên dịch nhanh hơn và nhẹ hơn

Bằng cách sử dụng các frameworks của hãng thứ ba (VD: PhoneGap,Titanium, ), các nhà lập trình web cũng có thể phát triển ứng dụng Android một cách

dễ dàng bằng các ngôn ngữ web phổ dụng như HTML, CSS, Javascript Tuy nhiên sốlượng các ứng dụng đi theo chiều hướng này chưa nhiều

Ngoài ra các ứng dụng của Android sử dụng SQLite để quản lý cơ sở dữ liệu

1.3 GIỚI THIỆU VỀ JSON

Json (JavaScript Object Noattion) là 1 định dạng hoán vị dữ liệu nhanh Chúng

dễ dàng cho chúng ta đọc và viết Dễ dàng cho thiết bị phân tích và phát sinh JSon là

cơ sở dựa trên tập hợp của ngôn ngữ lập trình JavaScript

JSon được xây dựng trên 2 cấu trúc :

- Là tập hợp của các cặp tên và giá trị như name - value Trong những ngôn ngữkhác nhau, đây dược nhận thấy như là 1 đối tượng (object), sự ghi (record), cấu trúc( struct), từ điển (dictionary), bảng băm (hash table), danh sách khóa (keyed list), haymàng liên hợp

- Là 1 tập hợp các giá trị đã được sắp xếp

Trang 9

1.4 GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và đượccác nhà phát triển rất ưa chuộng trong quá trình phát triền ứng dụng Vì MySQL là cơ

sở dữ liệu có tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trênnhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ vàtính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trêninternet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ

Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệđiều hành dòng Windows, Linux, Mac os X, Unix, FreeBSD, NetBSD, NovellNetWare, SGI Irix, Solaris, SunOS,

MySQL được sử dụng cho việc bồ trợ PHP, Perl, và nhiều ngôn ngữ khác, nólàm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl

1.5 CÔNG CỤ LẬP TRÌNH ANDROID STUDIO

Android Studio là công cụ lập trình chuẩn riêng của Google thay thế cho phiênbản Eclipse cũ Android Studio bao gồm các thành phần: Android Studio IDE,Android SDK tools, Android 5.0 (Lollipop) Platform, Android 5.0 emulator systemimage with Google APIs

Hình 2: Công cụ lập trình Androi Studio

Android Studio là một công cụ lập trình thông minh có khả năng chỉnh sửa codetiên tiến với nhiều thay đổi như: công cụ thiết kế giao diện người dùng mới và trựcquan, phân tích hiệu suất, vv cho phép lập trình viên có thể tạo các ứng dụng, thựchiện thay đổi cũng như xem trước sản phẩm trong thời gian thực

Trang 10

Hình 3: Giao diện Android Studio

Yêu cầu hệ thống Windows

- Microsoft Windows 7/8/10 (32- or 64-bit)

- Tối thiểu 2GB RAM, khuyến nghị 8GB RAM

- Tối thiểu 2GB ổ trống, khuyến nghị 4GB (500MB cho IDE + 1.5 GB choAndroid SDK và image giả lập hệ thống)

- Tỷ lệ màn hình tối thiểu 1280 x 800

Yêu cầu hệ thống Mac:

- Mac OS X 10.8.5 hoặc cao hơn, hỗ trợ tới 10.11.4 (El Capitan)

- Tối thiểu 2GB RAM, khuyến nghị 8GB RAM

- Tối thiểu 2GB ổ trống, khuyến nghị 4GB (500MB cho IDE + 1.5 GB choAndroid SDK và image giả lập hệ thống)

- Tỷ lệ màn hình tối thiểu 1280 x 800

Trang 11

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH

- Khách hàng có thể đặt xe nhanh bằng cách gọi điện trực tiếp thông qua

số điện thoại app cung cấp.

- Khách hàng có thể xem thông báo xác nhận của các hãng xe khi đấu giá thành công.

- Xác nhận đi khi có kết quả đấu giá của các hãng xe.

- Khách hàng có thể quản lý thông tin cá nhân của mình.

- Có thể xem lại lịch sử đặt xe của mình

2.1.2.2 Chức năng của các Hãng Xe

- Đăng nhập

- Đăng ký

- Có thể đấu giá với các hãng xe

- Xem danh sách khách hàng đã đăng ký đi taxi

- Xem danh sách khách hàng đã xác nhận đi

- Có thể quản lý thông tin của hãng xe.

2.1.2 Mô hình hoạt động của Hãng Xe và Khách Hàng

2.1.2.1 Biểu đồ UseCase với Khách Hàng

Biểu đồ UseCase thể hiện số lượng chức năng mà người dùng có thể tương táctrực tiếp

 Đối với khách hàng chưa đăng ký

Khách hàng có thể đăng ký tài khoản để đăng nhập để bắt đầu sử dụng

Trang 12

Hình 4: Chức năng Đăng kí, Đăng nhập dành cho khách hàng

 Đối với thành viên

Sau khi đăng nhập vào ứng dụng, thành viên có những chức năng nhất định

Hình 5: Chức năng dành cho khách hàng đã đăng nhập

2.1.2.2 Biểu đồ UseCase dành cho Hãng Xe

 Đối với hãng xe chưa đăng ký

Hãng xe có thể đăng ký tài khoản để đăng nhập để bắt đầu sử dụng

Trang 13

Hình 6: Chức năng dành cho hãng xe chưa có tài khoản

 Đối với hãng xe đã có tài khoản

Hình 7: Chức năng dành cho hãng xe đã có tài khoản

2.1.2.3 Biểu đồ xử lý

2.1.2.3.1 Một số mô hình xử lý đăng nhập cho khách hàng và hãng xe

Trang 14

Hình 8: Mô hình xử lý đăng nhập cho khách hàng và hãng xe

Bước 1: User gửi username, password đến server Nếu có timeout hay internet

lỗi thì hiển thị thông báo

Bước 2: Server nhận data từ client, xử lý và gửi trả lại kết quả.

Bước 3: Nếu username hoặc password không đúng thì hiển thị lỗi và quay lại

bước 1 Nếu tài khoản bị khóa thì hiện thông báo liên hệ với admin

Bước 4: Đăng nhập thành công tiếp tục sử dụng chương trình.

2.1.2.3.2 Một số mô hình xử lý đăng ký cho khách hàng và hãng xe

Trang 15

Hình 9: Mô hình xử lý đăng ký cho khách hàng và hãng xe

Bước 1: User nhập vào input, client kiểm tra input trước khi gửi lên server Nếu

input sai thì hiện thông báo nhập lại.

Bước 2: Gửi thông tin đăng kí lên server Server kiểm tra username có tồn tại

chưa Nếu username tồn tại thì hiện thông báo lỗi và quay lại bước 1 Nếu username

không tồn tại đến bước 3

Bước 3: Xử lý đăng kí và thêm dữ liệu vào database Gửi trả kết quả lại cho

Trang 16

Hình 10: Mô hình xử lý đấu giá taxi

Bước 1: Khách Hàng đăng ký thời gian đi nhưng phải trước thời gian hiện tại 20

phút

Bước 2: Server sẽ chứa thông tin khách hàng đã đăng ký.

Bước 3: Các hãng xe sẽ có được thông tin từ khách hàng đăng ký được lấy từ

database trên Server

Bước 4: Các hãng xe đấu giá với bất kỳ thông tin khách hàng đã đăng ký nhưng

phải thấp hơn so với giá mà các hãng khác đã đấu giá Thời gian đấu giá sẽ dừng khithời gian khách hàng đăng ký trước đó 10 phút

Bước 5: Server là nơi chứa giá thấp nhất của thông tin mà khách hàng đã đăng ký

trước đó

Bước 6: Khách Hàng sẽ xác nhận có đi hay không với số tiền mà hãng xe đã đấu

giá trước thời gian đăng ký 5 phút

Bước 7: Các hãng xe sẽ lấy thông tin khách hàng đã xác nhận đi để xử lý

2.2 PHÂN TÍCH THIẾT KẾ

2.2.1 Thiết kế cơ sở dữ liệu

Mô hình cơ sở dữ liệu tổng quát thể hiện mối quan hệ giữa các bảng với nhau,thể hiện những thực thể trong cơ sở dữ liệu

Trang 17

Hình 11: Cơ sở dữ liệu và mối quan hệ

 Danh sách các mối kết hợp:

Tên mối kết hợp Thực thể 1 Thực thể 2 Mối quan hệ Ý nghĩa

Huyện_Tinh tinh huyen 1,n Một tỉnh có

nhiều huyện Xa_Huyen huyen xa 1,n Một xã có

nhiều huyện ordertaxi_user user ordertaxi 1,n Một người

có thể đăng

ký nhiều chuyến xe daugia_ordertaxi ordertaxi daugia 1,n Một đơn đặt

xe có nhiều hãng xe đấu giá

daugia_hangxe hangxe daugia 1,n Một hãng xe

có thể đấu giá nhiều lần thanhtoan_odertaxi thanhtoan ordertaxi 1,1 Một hóa đơn

chỉ có một đơn đặt xe

2.2.2 Thiết kế chi tiết

Bảng Tỉnh

Ngày đăng: 07/12/2017, 09:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w