Xây dựng phần mềm tra cứu tuyến xe tại thái nguyên trên hệ điều hành android - Pdf 42

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành Công nghệ thông tin

Đề tài:

XÂY DỰNG PHẦN MỀM TRA CỨU TUYẾN XE TẠI
THÁI NGUYÊN TRÊN HỆ ĐIỀU HÀNH ANDROID

Sinh viên thực hiện:

TRIỆU ĐỨC THÁI

Lớp :

KTPM-K10B

Giáo viên hướng dẫn: TS. NGUYỄN VĂN NÚI

1


Thái Nguyên, năm 2016

2




17

20

Hình 2.1. Biểu đồ UserCase tổng quát

42

Hình 2.2. Biểu đồ UseCase chức năng tìm xe khách

43

Hình 2.3. Biểu đồ UseCase chức năng xem thông tin xe khách43
Hình 2.4. Biểu đồ UseCase chức năng xem thông tin xe buýt 44
Hình 2.5. Biểu đồ UseCase chức năng xem thông tin Taxi
Hình 2.6. Biểu đồ UseCase chức năng xem đánh dấu

44

45

Hình 2.7. Các lớp chính trong phần mềm 45
Hình 2.8. Biểu đồ lớp cho chức năng tìm xe khách

46

Hình 2.9. Biểu đồ lớp cho chức năng xem danh sách xe khách 46
Hình 2.10. Biểu đồ lớp cho chức năng xem thông tin xe khách47
Hình 2.11. Biểu đồ lớp cho chức năng tìm xe buýt

Hình 2.22. Biểu đồ hoạt động tìm Taxi

52

53

Hình 2.23. Biểu đồ hoạt động xem đánh dấu

53

Hình 3.1. Giao diện chính của phần mềm 54
Hình 3.2. Giao diện tìm xe khách 55
Hình 3.3. Giao diện chọn tỉnh

56

Hình 3.4. Giao diện chọn bến xe 57
Hình 3.5. Giao diện xem và chọn xe khách

58

Hình 3.6. Giao diện xem chi tiết thông tin xe khách

59

Hình 3.7 - 3.8. Giao diện xem lộ trình xe khách trên Google Map

60

Hình 3.9. Giao diện xem danh sách các tuyến xe buýt 61

bạn để khoá luận được hoàn chỉnh hơn.
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày 30 tháng 05 năm 2016
Sinh viên

TRIỆU ĐỨC THÁI

5


LỜI MỞ ĐẦU
Ngày nay phương tiện giao thông ngày càng phổ biến. Hệ thống giao thông
ngày càng được mở rộng nhằm phục vụ nhu cầu đi lại và vận chuyển của người
dân.
Tại bến xe Thái Nguyên có khoảng 600 xe khác nhau đi đến hơn 30 tỉnh thành
trên cả nước. Và có 12 chuyến xe buýt đang hoạt động trên địa bàn tỉnh. Với số
lượng xe lớn như vậy, việc di chuyển là hết sức thuận tiện nhưng việc tìm kiếm xe
thích hợp với yêu cầu lại gặp nhiều khó khăn.
Nhằm góp phần nâng cao chất lượng tìm kiếm, tôi đã quyết định nghiên cứu
xây dựng đồ án tốt nghiệp với đề tài: “Xây dựng phần mềm tra cứu tuyến xe tại
Thái Nguyên trên hệ điều hành Android”. Phần mềm sẽ cung cấp thông tin đầy đủ
nhất về các chuyến xe từ thành phố Thái Nguyên đi các huyện, tỉnh và các tuyến xe
buýt trong tỉnh.
Với phần mềm này, mong rằng sẽ giúp cho mọi người tìm xe dễ dàng, thuận
tiện hơn. Người dùng có thể tra cứu mọi thông tin về tuyến xe, giá vé, lộ trình, nhà
xe, số điện thoại,...một cách hiệu quả nhất.
Tôi rất mong đề tài này sẽ được đón nhận và có những ý kiến đóng góp để phát
triển và hoàn thiện hơn nữa. Hi vọng một ngày không xa, sản phẩm phần mềm này
sẽ được ứng dụng rộng rãi trong đời sống.
Đề tài “Xây dựng phần mềm tra cứu tuyến xe tại Thái Nguyên trên hệ điều hành

sản xuất thiết bị coi Android như là hy vọng tốt nhất để thách thức sự tấn công của
Apple.
 Những đặc trưng của hệ điều hành Android
Application framework: cho phép sử dụng lại và thay thế các thành phần trong
lập trình ứng dụng.
Dalvik virtual machine: tối ưu hóa cho thiết bị di động.
Intergrated browser: trình duyệt tích hợp, dựa trên cơ chế WebKit mã nguồn
mở.
SQLite: sơ sở dữ liệu trong môi trường di động.
Media support: hỗ trợ các định dạng audio, video và hình ảnh thông dụng.
GSM Telephony: mạng điện thoại di động (phụ thuộc vào phần cứng).
Bluetooth, EDGE, 3G, và WiFi: các chuẩn kết nối dữ liệu (phụ thuộc vào phần
cứng).
Camera, GPS, la bàn, và gia tốc kế: (phụ thuộc vào phần cứng).
7


Môi trường phát triển phong phú: bao gồm thiết bị mô phỏng, công cụ cho việc
dò tìm lỗi, bộ nhớ và định hình hiệu năng và một plugin cho Eclipse IDE
 Các tính năng hỗ trợ sẵn trong hệ điều hành Android
Các tính năng được hổ trỡ tùy thuộc vào cấu hình phần cứng và phần mềm.
Storage: Sử dụng SQLite, một cơ sở dữ liệu quan hệ nhẹ cho việc lưu trữ dữ
liệu
Connectivity: Hỗ trợ GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth
(bao gồm AD2P và AVRCP), Wifi, LTE và WiMAX
Messaging: hỗ trợ cả SMS và MMS
Web browser: Dựa trên mã nguồn mở Webkit, cùng với công nghệ JavaScript
V8 của Chrome
Media support: Bao gồm hỗ trợ các phương tiện truyền thông sau: H.263,
H.264 (Trong 3GP hoặc MP4 container), MPEG-4 SP, AMR, AMR-WB (3GP

Media Libraries – Dựa trên PacketVideo's OpenCORE; thư viện này hỗ trợ cho
việc chơi nhạc, quay phim, chụp hình theo các định dạng file MPEG4, H.264,
MP3, AAC, AMR, JPG, and PNG
Surface Manager – Quản lý truy cập đến các hệ thống con hiển thị cũng như các
lớp đồ họa 2D, 3D từ tầng ứng dụng.
LibWebCore – Thư viện được dùng để tạo nên thành phần webview trong
Android và có thể nhúng được vào nhiều ứng dụng.
SGL – Thư viện hỗ trợ đồ hoạ 2D.
3D libraries – Thư viện đồ họa 3D.
FreeType - bitmap and vector font rendering.
SQLite – Một cơ sở dữ liệu nhỏ được dùng cho các thiết bị cầm tay có bộ nhớ
hạn chế. SQLite không có quan hệ như các cơ sở dữ liệu khác.
 Android runtime
Tại cùng một tầng với Libraries, android runtime cung cấp một bộ lõi thư viện
cho phép các nhà phát triển viết các ứng dụng android bằng cách sử dụng ngôn
ngữ lập trình java. Android runtime cũng bao gồm các máy ảo Dalvik, cho phép
mọi ứng dụng android chạy trong tiến trình riêng của mình. Dalvik là một máy ảo
chuyên dụng được thiết kế đặc biệt cho android và tối ưu hóa cho các thiết bị điện
thoại di động với giới hạn bộ nhớ và CPU.
 Application framework 2.4.3 Android runtime
Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà
phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà
phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập,
các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh
10


trạng thái, và nhiều, nhiều hơn nữa.
Nhà phát triển có thể truy cập vào các API được sử dụng bởi các ứng dụng lõi.
Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các API.

lá vẽ trong hình chữ nhật mà chúng điều khiển và đáp ứng lại các hành động người
dùng trực tiếp ở khoảng trống này. Do đó, các view là nơi mà các tương tác của
activity với người dùng diễn ra.
Ví dụ một view có thể hiển thị một hình ảnh nhỏ và khởi tạo một hoạt động khi
11


người dùng nhấn vào hình ảnh đó. Android có một số view đã xây dựng sẵn mà
bạn có thể sử dụng – gồm có các buttons, text fields, scroll bars, menu items,
check boxes …
Một cây phân cấp view được đặt trong một cửa sổ của activity bằng phương
thức Activity.setContentView(). Content view là đối tượng View ở gốc của cây
phân cấp.
Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời
của một hoạt động. Class Activity định nghĩa các sự kiện sau đây :
onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên
onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng
onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng
onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt động
trước đó
onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng
onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằng tay
hoặc bằng hệ thống để bảo tồn bộ nhớ)
onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại một lần
nữa
Sau đây là sơ đồ các sự kiện trong vòng đời của một Activity:

12



nhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng một
đối tượng ContentResolver và gọi các phương thức của nó. Một ContentResolver
có thể nói chuyện với bất cứ content provider nào, chúng cộng tác với provider để
quản lý giao tiếp liên tiến trình.
 Broadcast Receive
Một Broadcast Rreceiver là một thành phần không làm gì ngoài việc nhận và
đáp lại các thông báo broadcast. Nhiều broadcast khởi đầu trong mã hệ thống - ví
dụ như thông báo múi giờ thay đổi, pin yếu, ảnh đã được chụp, hay người dùng đã
thay đổi ngôn ngữ … Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng
dụng khác biết được một số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử
dụng chúng.
Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báo
nào mà nó cho là quan trọng. Tất cả các receiver mở rộng từ lớp cơ sở
BroadcastReceiver.
Broadcast Receiver không hiển thị một giao diện người dùng. Tuy nhiên chúng
có thể bắt đầu một activity để đáp lại thông tin mà chúng nhận, hay chúng có thể
sử dụng NotificationManager để cảnh báo người dùng. Notifications có thể lấy sự
chú ý của người dùng bằng nhiều cách, lóe sáng đèn sau, rung, tạo ra âm thanh,
vân vân. Chúng thường lấy một biểu tượng bền vững trong thanh trạng thái, cái mà
người dùng có thể mở để lấy thông điệp.
 View
Trong một ứng dụng Android, giao diện người dùng được xây dựng từ các đối
tượng View và ViewGroup. Có nhiều kiểu View và ViewGroup. Mỗi một kiểu là
một con của class View và tất cả các kiểu đó được gọi là các Widget.
Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày vị
trí, background, kích thước, lề,… Tất cả những thuộc tính chung này được thể hiện
hết ở trong đối tượng View.
Trong Android Platform, các screen luôn được bố trí theo một kiểu cấu trúc
phân cấp như hình dưới. Một màn hình là một tập hợp các Layout và các widget
được bố trí có thứ tự. Để thể hiện một màn hình thì trong hàm onCreate của mỗi



Permission: bao gồm các thuộc tính chỉ định quyền truy xuất và sử dụng tài
nguyên của ứng dụng. Khi cần sử dụng một loại tài nguyên nào đó thì trong file
manifest của ứng dụng cần phải khai báo các quyền truy xuất tương ứng
SDK version: Xác định phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử
dụng tương ứng với một phiên bản hệ điều hành Android mà ứng dụng có thể
tương thích.

 File R.java
File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được sử
dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng và các
tài nguyên hình ảnh.Mã nguồn của file R.java được tự động sinh khi có bất kì một
sự kiện nào xảy xa làm thay đổi các thuộc tính trong ứng dụng.
Có thể nói file R.java hoàn toàn không cần phải đụng chạm gì đến trong cả quá
trình xây dựng ứng dụng.
 Thư mục src
Là vị trí chứa gói các class trong ứng dụng. Các class có thể là các một Activity
hoặc Service hoặc các lớp chức năng nào đó được viết bằng ngôn ngữ Java dựa
trên API được cung cấp sẵn của Android. Cần phải có ít nhất một Activity và khai
báo là Activity chính để chương trình có thể chạy được.
 Thư mục rec
Thư mục chứa tài nguyên ứng dụng. Thư mục này bao gồm 5 thư mục con là:
drawable – hdpi, drawable – mdpi, drawable – ldpi,layout,values.
Drawable – hdpi, drawable – mdpi, drawable – ldpi là ba thư mục dùng để chứa
các hình ảnh được sử dụng trong quá trình thiết kế giao diện ứng dụng, bao gồm cả
icon của ứng dụng. 3 thư mục tương ứng với hình ảnh sẽ được sử dụng ở ba độ
phân giải khác nhau lần lược là: cao, trung bình, thấp. Điều này giúp các nhà lập
trình có thể thiết kế giao diện ứng dụng phù hợp với nhiều độ phân giải màn hình
tương thích với nhiều lại thiết bị.

Recommendation, giống như một Internet Request for Comments (RFC), là một
"tiêu chuẩn".
 Cấu trúc của file XML và tài liệu XML
Cấu trúc file xml:
Document Prolog: lưu trữ metadata của XML gồm 2 phần đó là khai báo XML
và khai báo kiểu dữ liệu trong XML. Phần khai báo XML (XML declaration) bao
gồm các thông tin về version của XML, charset, encoding…. Phần khai báo kiểu
dữ liệu trong XML (DTD) dùng để khai báo cấu trúc của các thẻ dùng trong XML.
Root element hay còn gọi là Document Element: chứa tất cả các phần tử và nội
dung của nó. 1 phần tử của XML phải có thẻ mở và thẻ đóng.
Dưới đây là sơ đồ cấu trúc của tài liệu XML

19


Hình 1.. Sơ đồ cấu trúc của tài liệu XML

20


Cấu trúc tài liệu xml:
Gồm có hai phần đó là cấu trúc logic và cấu trúc vật lý .
Cấu trúc logic: Định nghĩa các phần tử, các thuộc tính, kiểu dữ liệu
Cấu trúc vật lý: Chứa dữ liệu và các phần tử chứa dữ liệu như text, hình ảnh,
media...
 Đặc điểm của XML
XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp
dụng một cấu trúc kiểu cây cho thông tin đó.
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal Character Set
(Bộ ký tự toàn cầu).



 Ngôn ngữ đặc tả cấu trúc
DTD (Document Type Definition)
Một DTD xác định ngữ pháp của một tài liệu XML, DTD định nghĩa cấu trúc
tài liệu XML bằng một tập những qui tắc của phần tử (elements) và thuộc tính
(attributes).
XML Schema
XML Schema mô tả cấu trúc của tài liệu XML, thay thế cho DTD. XML
Schema mô tả:
Các phần tử và thuộc tính trong tài liệu XML.
Thứ tự và số lượng các phần tử con.
Các kiểu dữ liệu của phần tử và thuộc tính.
 Ưu điểm của XML
Dễ dàng xử lý, chuyển tải và trao đổi dữ liệu.
Mô tả dữ liệu và cách thể hiện dữ liệu thông qua các thẻ.
Tổ chức dữ liệu và cấu trúc phân cấp
Dữ liệu độc lập là ưu điểm chính của XML. Do XML chỉ dùng để mô tả dữ liệu
bằng dạng text nên tất cả các chương trình đều có thể đọc được XML.
Dễ dàng để tạo 1 file XML
Lưu trữ cấu hình cho web site
Sử dụng cho phương thức Remote Procedure Calls (RPC) phục vụ web service
 Webservice
 Webservice là gì?
Webservice (dịch vụ web) là sự kết hợp các máy tính cá nhân với các thiết bị
khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo
mà người sử dụng có thể làm việc thông qua các trình duyệt mạng hoặc ứng dụng
có kết nối mạng.

22

Tuy nhiên các chuyên gia khác lại cho rằng web service là một dạng API dựa
trên phần mềm trung gian, có sử dụng XML để tạo phần giao diện trên nền Java 2
(J2EE) hay các server ứng dụng .NET. Giống như các phần mềm trung gian, web
service sẽ kết nối server ứng dụng với các chương trình khách hàng.
 Một số đặc điểm cơ bản của webservice
Một webservice có thể được truy cập thông qua web.
Một webservice có giao diện dịch vụ. Giao diện này giúp cho webservice có thể
được gọi bởi bất kỳ một ứng dụng nào hay bởi webservice nào khác. Giao diện
dịch vụ là một tài liệu XML. Bởi vì XML có thể thể hiện rõ vai trò trong công
nghệ trao đổi thông tin toàn cục (global exchange technology) được chấp nhận bởi
phần lớn công nghệ hiện nay.
Các Dịch vụ web dùng giao thức tiêu chuẩn web để giao tiếp, không như COM,
RMI hay CORBA. XML được dùng để trao đổi thông tin giữa các chương trình
ứng dụng và dịch vụ.
 Phân loại webservice
Service có hai loại :
Dịch vụ ứng dụng và dịch vụ hệ thống (Application and System Service ). Một
Application Service thể hiện một hành động của user như duyệt thư email, hay
kiểm tra tỷ số hối đoái… Một System Service thể hiện yêu cầu của kiến trúc hệ
thống và sự quản lý như bảo mật , lưu trữ và chịu lỗi, quản lý transaction hay
messaging.
Một dịch vụ có hai đặc điểm chính : Interface và Registration. Sử dụng
Interface, một dịch vụ có thể được gọi từ một chương trình khác. Một service được
đăng ký trong một registry.
Các ví dụ về công nghệ liên quan đến hệ thống hướng dịch vụ (service-oriented
system) là Remote Method Invocation (RMI), Jini, CORBA và Distributed
Computing Environment (DCE).
Một vấn đề tổng quát với service hệ thống là các client cần thiết chỉ rõ giao
thức để yêu cầu các dịch vụ từ các hệ thống. Web service là một hệ thống phát
triển từ hệ thống hướng dịch vụ , dùng giao tiếp tổng quát để chuyển tải các thông


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status