Nghiên cứu hệ điều hành android và xây dựng ứng dụng tìm lịch trình xe buýt

51 0 0
Nghiên cứu hệ điều hành android và xây dựng ứng dụng tìm lịch trình xe buýt

Đ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

Ngày nay các thiết bị số cầm tay như điện thoại di động, điện thoại thông minh, máy tính bảng có rất nhiều trên thị trường. Với giá thành ngày càng rẻ và các lợi ích đem lại, các thiết bị đó ngày càng được sử dụng nhiều và phổ biến. Một nền tảng được sử dụng trong các thiết bị đó là hệ điều hành thông minh Android của Google. Do vậy đi cùng việc phát triển và sử dụng các thiết bị phần cứng một cách hiệu quả thì việc phát triển các ứng dụng phần mềm chạy trên nền Android càng lúc càng tăng cao. Các thiết bị di động ngày càng mạnh mẽ với khả năng xử lí các tác vụ mà chúng ta khó có thể tưởng tượng trước đây vài năm. Những chiếc điện thoại thời trang và tiện dụng với những tính năng về phần cứng như GPS, gia tốc kế và màn hình cảm ứng là một nền tảng hấp dẫn cho các ứng dụng di động đột phá. Trong khi việc phát triển nền tảng di động hiện nay chủ yếu xây dựng trên các hệ điều hành độc quyền, hạn chế các ứng dụng của bên thứ ba, sự ra đời của Android đã mang lại một giải pháp mở. Không bị hạn chế, các lập trình viên Android tự do viết các ứng dụng tận dụng tối đa sự phát triển mạnh mẽ của phần cứng cho điện thoại di động. Android nhanh chóng trở thành hệ điều hành thu hút nhiều lập trình viên và chiếm một thị phần lớn trong thị trường di động. Việc sử dụng các thiết bị số cầm tay ngoài khả năng hỗ trợ con người trong công việc, giải trí mà còn giúp con người tiết kiệm thời gian hơn vào nhiều công việc thực tiễn trong đời sống hằng ngày. Hiện nay xe buýt là phương tiện được khuyến khích sử dụng nhằm giảm thiểu ùn tắt giao thông. Vì vậy việc tìm lịch trình các tuyến xe buýt là điều khá hữu dụng trong cuộc sống, khi mà trong một số trường hợp chúng ta rất khó có thể xác định được có bao nhiêu tuyến xe buýt đang hoạt động, tuyến đường nào có xe buýt đi qua, bao nhiêu phút thì có xe buýt đi qua…

LỜI CẢM ƠN Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành công nghệ thông tin, làm từng bước thay đổi cuộc sống của con người bởi các ứng dụng sản phẩm của công nghệ Một trong những bộ phận ứng dụng công nghệ thông tin chính là thay đổi và giúp đỡ việc sinh hoạt hàng ngày của mọi người trong cuộc sống Vì vậy em đã lựa chọn đề tài “Nghiên cứu hệ điều hành Android và xây dựng ứng dụng tìm lịch trình xe buýt” để làm đồ án tốt nghiệp với ý nghĩa mang tính thực tế Trong thời gian làm đồ án em đã gặp không ít khó khăn nhưng được sự giúp đỡ hướng dẫn tận tình của các thầy giáo, cô giáo trong bộ môn lập trình – Khoa Khoa Học Máy Tính – Trường Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt – Hàn đã giúp em hoàn thành được đồ án này Em xin chân thành cảm ơn giảng viên Võ Hoàng Phương Dung – người trực tiếp hướng dẫn đã tận tình hướng dẫn và giúp đỡ em hoàn thành cuốn đồ án tốt nghiệp này Một lời cảm ơn sâu sắc nữa em muốn gửi tới toàn thể thầy cô giáo đã trang bị cho em những kiến thức cơ bản cần thiết trong những năm học vừa qua để em có thể thực hiện tốt cuốn đồ án tốt nghiệp này cũng như đủ tự tin để làm việc sau này Em xin chân thành cảm ơn! Trang i MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC CÁC TỪ VIẾT TẮT .iv DANH MỤC CÁC HÌNH VẼ .v CHƢƠNG 1 – CHƢƠNG MỞ ĐẦU 1 1.1 LÝ DO CHỌN ĐỀ TÀI 1 1.2 MỤC TIÊU VÀ NHIỆM VỤ .1 1.3 ĐỐI TƢỢNG NGHIÊN CỨU VÀ PHẠM VI HỆ THỐNG 2 1.4 PHƢƠNG PHÁP NGHIÊN CỨU .2 1.5 Ý NGHĨA THỰC TIỄN CỦA ỨNG DỤNG 2 CHƢƠNG 2 – CƠ SỞ LÝ THUYẾT 3 2.1 GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 3 2.1.1 Tổng quan cấu trúc của Android 3 2.1.2 Sơ lược các phiên bản Android 4 2.1.3 Các thành phần cơ bản của ứng dụng Android .5 2.2 LẬP TRÌNH TRÊN HỆ ĐIỀU HÀNH ANDROID 9 2.2.1 Ngôn ngữ JAVA 9 2.2.1.1 Tổng quan về ngôn ngữ JAVA .9 2.2.1.2 Một số tính chất ngôn ngữ JAVA 9 2.2.2 Ngôn ngữ JSON 12 2.2.3 Ngôn ngữ XML 12 2.2.4 Các dịch vụ của google với lập trình MapView .13 2.2.4.1 Google Maps 13 2.2.4.2 Google Places API .14 2.2.4.3 Google Directions API 15 2.2.4.4 Google Geocoding API 15 2.3 MÁY ẢO DALVIK VÀ ANDROID SDK .15 2.3.1 Máy ảo Dalvik 15 2.3.2 Android SDK 15 2.3.3 Android Emulator 17 CHƢƠNG 3 – PHÂN TÍCH THIẾT KẾ HỆ THỐNG 18 Trang ii 3.1 MÔ TẢ VỀ HỆ THỐNG .18 3.1.1 Yêu cầu chức năng 18 3.1.2 Yêu cầu phi chức năng 18 3.1.3 Yêu cầu hệ thống .18 3.2 PHÂN TÍCH THIẾT KẾ 19 3.2.1 Mô hình hóa yêu cầu .19 3.2.2 Mô hình hóa khái niệm .22 3.2.3 Mô hình hóa tương tác 24 3.2.3.1 Biểu đồ trình tự 24 3.2.3.2 Biểu đồ cộng tác 27 3.2.4 Mô hình hóa hành vi 31 3.2.4.1 Biểu đồ trạng thái 31 3.2.4.2 Biểu đồ hoạt động 31 3.2.5 Thiết kế kiến trúc vật lý .36 3.2.5.1 Biểu đồ thành phần 36 3.2.5.2 Biểu đồ triển khai 36 CHƢƠNG 4 – XÂY DỰNG ỨNG DỤNG 37 4.1 DEMO CHƢƠNG TRÌNH .37 4.1.1 Hiển thị MapView 37 4.1.2 Sử dụng tài nguyên GPS và Internet của hệ thống 37 4.1.3 Đánh dấu vị trí trên MapView 38 4.1.4 Truy vấn và lấy dữ liệu từ hệ thống Services của Google .39 4.1.5 Đọc dữ liệu từ file JSON 39 4.2 GIAO DIỆN ỨNG DỤNG .40 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 43 DANH MỤC TÀI LIỆU THAM KHẢO 44 NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN 45 Trang iii DANH MỤC CÁC TỪ VIẾT TẮT  API: Application Programming Interface (Giao diện lập trình ứng dụng)  CPU: Central Processing Unit (Đơn vị xử lý trung tâm)  CSDL: Cơ sở dữ liệu  DM: Danh mục  DS: Danh sách  GPS: Global Positioning System (Hệ thống định vị toàn cầu)  HD: High-definition (Truyền hình độ nét cao)  HTML: HyperText Markup Language (Ngôn ngữ Đánh dấu Siêu văn bản)  JSON: JavaScript Object Notation (Định dạng trao đổi dữ liệu cực nhẹ)  OOP: object-oriented programming (Lập trình hướng đối tượng)  OHA: Open Handset Alliance (Liên minh thiết bị cầm tay mở rộng)  XML: eXtensible Markup Language (Ngôn ngữ Đánh dấu Mở rộng)  SDK: Software Development Kit (Bộ công cụ phát triển phần mềm) Trang iv DANH MỤC CÁC HÌNH VẼ Số hiệu Tên hình Trang hình 4 Hình 2.1 Các thành phần của hệ điều hành Android 5 8 Hình 2.2 Logo và tên các phiên bản Android 10 10 Hình 2.3 Mô hình hoạt động của Activity 14 14 Hình 2.4 Cách biên dịch chương trình truyền thống 16 17 Hình 2.5 Cơ chế biên dịch chương trình của Java 20 20 Hình 2.6 Một ví dụ về Google Maps 21 21 Hình 2.7 Một ví dụ về Google Places API 21 22 Hình 2.8 Môi trường phát triển ứng dụng Android trong Eclipse 22 23 Hình 2.9 Android Emulator 23 24 Hình 3.1 Biểu đồ trường hợp sử dụng USE CASE 24 25 Hình 3.2 Use Case trường hợp Cập nhật DM Giá vé 25 26 Hình 3.3 Use Case trường hợp cập nhật DM Tuyến 26 27 Hình 3.4 Use Case trường hợp cập nhật DS Xe buýt Trang v Hình 3.5 Use Case trường hợp cập nhật DM Trạm xe Hình 3.6 Use Case trường hợp Tìm kiếm Hình 3.7 Các lớp biên Hình 3.8 Các lớp điều khiển Hình 3.9 Các lớp thực thể mức phân tích Hình 3.10 Biểu đồ trình tự Mở hệ thống Hình 3.11 Biểu đồ trình tự Đóng hệ thống Hình 3.12 Biểu đồ trình tự Thêm DM Giá vé Hình 3.13 Biểu đồ trình tự Hiệu chỉnh DM Giá vé Hình 3.14 Biểu đồ trình tự Xóa DM Giá vé Hình 3.15 Biểu đồ trình tự Tìm kiếm bằng cơ sở dữ liệu của ứng dụng Hình 3.16 Biểu đồ trình tự Tìm kiếm bằng Google Services Hình 3.17 Biểu đồ cộng tác Mở hệ thống 27 Hình 3.18 Biểu đồ cộng tác Đóng hệ thống 28 Hình 3.19 Biểu đồ cộng tác Thêm DM Giá vé 28 Hình 3.20 Biểu đồ cộng tác Hiệu chỉnh DM Giá vé 29 Hình 3.21 Biểu đồ cộng tác Xóa DM Giá vé 29 Hình 3.22 Biểu đồ cộng tác Tìm kiếm bằng cơ sở dữ liệu của ứng dụng 30 Hình 3.23 Biểu đồ cộng tác Tìm kiếm bằng google services 30 Hình 3.24 Biểu đồ trạng thái Mở hệ thống 31 Hình 3.25 Biểu đồ trạng thái Tìm kiếm 31 Hình 3.26 Biểu đồ hoạt động Mở hệ thống 31 Hình 3.27 Biểu đồ hoạt động Đóng hệ thống 32 Hình 3.28 Biểu đồ hoạt động Cập nhật DM Giá vé 32 Hình 3.29 Biểu đồ hoạt động Cập nhật DM Tuyến 33 Hình 3.30 Biểu đồ hoạt động Cập nhật DM Xe buýt 33 Hình 3.31 Biểu đồ hoạt động Cập nhật DM Trạm xe 34 Hình 3.32 Biểu đồ hoạt động Tìm kiếm 34 Hình 3.33 Biểu đồ lớp mức chi tiết 35 Hình 3.34 Biểu đồ thành phần 36 Hình 3.35 Biểu đồ triển khai 36 Hình 4.1 Quá trình lấy dữ liệu map từ Google 37 Hình 4.2 Quá trình sử dụng tài nguyên hệ thống 38 Hình 4.3 Quá trình đánh dấu vị trí trên MapView 38 Hình 4.4 Quá trình Truy vấn và lấy dữ liệu từ hệ thống Services của Google 39 Hình 4.5 Mô hình xác định mảng giá trị trong JSON 39 Hình 4.6 Giao diện Tab tìm kiếm tuyến xe theo tên đường 40 Hình 4.7 Giao diện Tab danh sách các tuyến xe buýt 40 Hình 4.8 Giao diện Tab thông tin chi tiết các tuyến xe buýt 41 Hình 4.9 Giao diện Tab định vị các tuyến xe buýt 41 Hình 4.10 Giao diện Tab thông tin về ứng dụng 42 Trang vi Xây dựng hệ thống tìm lịch trình xe buýt trên hệ điều hành Android CHƢƠNG 1 – CHƢƠNG MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI Ngày nay các thiết bị số cầm tay như điện thoại di động, điện thoại thông minh, máy tính bảng có rất nhiều trên thị trường Với giá thành ngày càng rẻ và các lợi ích đem lại, các thiết bị đó ngày càng được sử dụng nhiều và phổ biến Một nền tảng được sử dụng trong các thiết bị đó là hệ điều hành thông minh Android của Google Do vậy đi cùng việc phát triển và sử dụng các thiết bị phần cứng một cách hiệu quả thì việc phát triển các ứng dụng phần mềm chạy trên nền Android càng lúc càng tăng cao Các thiết bị di động ngày càng mạnh mẽ với khả năng xử lí các tác vụ mà chúng ta khó có thể tưởng tượng trước đây vài năm Những chiếc điện thoại thời trang và tiện dụng với những tính năng về phần cứng như GPS, gia tốc kế và màn hình cảm ứng là một nền tảng hấp dẫn cho các ứng dụng di động đột phá Trong khi việc phát triển nền tảng di động hiện nay chủ yếu xây dựng trên các hệ điều hành độc quyền, hạn chế các ứng dụng của bên thứ ba, sự ra đời của Android đã mang lại một giải pháp mở Không bị hạn chế, các lập trình viên Android tự do viết các ứng dụng tận dụng tối đa sự phát triển mạnh mẽ của phần cứng cho điện thoại di động Android nhanh chóng trở thành hệ điều hành thu hút nhiều lập trình viên và chiếm một thị phần lớn trong thị trường di động Việc sử dụng các thiết bị số cầm tay ngoài khả năng hỗ trợ con người trong công việc, giải trí mà còn giúp con người tiết kiệm thời gian hơn vào nhiều công việc thực tiễn trong đời sống hằng ngày Hiện nay xe buýt là phương tiện được khuyến khích sử dụng nhằm giảm thiểu ùn tắt giao thông Vì vậy việc tìm lịch trình các tuyến xe buýt là điều khá hữu dụng trong cuộc sống, khi mà trong một số trường hợp chúng ta rất khó có thể xác định được có bao nhiêu tuyến xe buýt đang hoạt động, tuyến đường nào có xe buýt đi qua, bao nhiêu phút thì có xe buýt đi qua… 1.2 MỤC TIÊU VÀ NHIỆM VỤ Mục tiêu: Tìm hiểu được các công nghệ lập trình cần thiết trên nền Android để hoàn thành được ứng dụng có thể có thể tìm kiếm nhanh và chính xác vị trí các tuyến xe buýt trong thành phố Đà Nẵng  Hiểu về nguyên lý hoạt động của Android, các thành phần của hệ thống cũng như của một ứng dụng thực thi trên nền android SVTH: Tưởng Thành Nhật – CCLT04B Trang 1 Xây dựng hệ thống tìm lịch trình xe buýt trên hệ điều hành Android  Tìm hiểu và áp dụng được các công nghệ lập trình trên nền Android như ngôn ngữ JAVA, tương tác với các tài nguyên của hệ thống (GPS, Internet, TouchScreen), sử dụng các dịch vụ của Google như Google Map, Google Places API, Google Directions API, Google Geocoding API Nhiệm vụ: Đọc các tài liệu liên quan về bộ thư viện lập trình trên nền Android Tìm hiểu các dịch vụ liên quan đến ứng dụng 1.3 ĐỐI TƢỢNG NGHIÊN CỨU VÀ PHẠM VI HỆ THỐNG Đối tƣợng:  Ngôn ngữ JAVA, JSON, XML  Hệ cơ sở dữ liệu SQlite  Công cụ Android SDK Eclipse  Hệ điều hành và tài nguyên hệ thống Android  Các dịch vụ của google như Google Map, Google Places API, Google Directions API, Google Geocoding API Phạm vi: Đề tài chỉ dừng lại ở khuôn khổ tìm kiếm các tuyến xe buýt hoạt động trong thành phố Đà Nẵng, ứng dụng mapview để tìm kiếm và dẫn đường trực quan cho người dùng Ứng dụng được viết trên nền android 4.0 1.4 PHƢƠNG PHÁP NGHIÊN CỨU Đọc sách và các tài liệu tham khảo tìm được Hỏi những người có chuyên môn về Android 1.5 Ý NGHĨA THỰC TIỄN CỦA ỨNG DỤNG Chương trình có thể áp dụng vào cuộc sống hàng ngày để tìm kiếm các tuyến xe buýt khi có nhu cầu bằng thiết bị cầm tay chạy hệ điều hành Android mà đến cả những người có ít kiến thức về công nghệ cũng có thể sử dụng SVTH: Tưởng Thành Nhật – CCLT04B Trang 2 Xây dựng hệ thống tìm lịch trình xe buýt trên hệ điều hành Android CHƢƠNG 2 – CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID Android là hệ điều hành trên các thiết bị số di động như smartphone và tablet (và hiện nay là cả trên một số đầu phát HD, HD Player) phát triển bởi Google và dựa trên nền tảng Linux Trước đây, Android được phát triển bởi công ty liên hợp Android Vào năm 2005, Google đã mua lại Android nằm trong chiến lược tiến vào thị trường di động Google muốn Android trở thành nền tảng “mở” và miễn phí Do vậy hầu hết mã nguồn của Android được phát hành theo giấy phép mã nguồn mở Apache nên bất cứ ai muốn sử dụng Android có thể download toàn bộ mã nguồn Hơn nữa các nhà sản xuất phần cứng có thể thêm các thành phần mở rộng độc quyền của hãng để tạo ra các sản phẩm khác nhau Chính mô hình phát triển đơn giản này khiến Android trở nên rất hấp dẫn Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụng cho hệ điều hành của mình Hiện tại có khoảng hơn 250,000 ứng dụng cho Android OS và vào khoảng hơn 375,000 ứng dụng đã được đệ trình, điều này khiến Android trở thành hệ điều hành di động có môi trường phát triển lớn thứ 2 Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai Google công bố hầu hết các mã nguồn của Android theo bản cấp phép Apache Hệ điều hành Android bao gồm 12 triệu dòng mã; 3 triệu dòng XML, 2.8 triệu dòng mã C, 2.1 triệu mã Java và 1.75 triệu dòng mã C++ 2.1.1 Tổng quan cấu trúc của Android Nói một cách đơn giản thì Android bao gồm ba thành phần: 1 Một hệ điều hành mở, miễn phí cho các thiết bị di động 2 Một nền tảng mã nguồn mở cho phát triển các ứng dụng 3 Thiết bị chạy hệ điều hành Android và các ứng dụng Android Chi tiết hơn thì Android gồm các thành phần quan trọng sau: 1 Một thiết kế phần cứng cho thiết bị di động hỗ trợ bộ phần mềm 2 Một nhân hệ điều hành Linux cung cấp giao diện mức thấp với phần cứng, quản lý bộ nhớ và kiểm soát tiến trình Tất cả đều tối ưu hoá cho thiết bị di động SVTH: Tưởng Thành Nhật – CCLT04B Trang 3 Xây dựng hệ thống tìm lịch trình xe buýt trên hệ điều hành Android 3 Thư viện mã nguồn mở cho phát triển ứng dụng bao gồm SQLite, Webkit, OpenGL và quản lí đa phương tiện 4 Một hệ thống thực thi và lưu trữ cho ứng dụng Android bao gồm máy ảo Dalvik và các thư viện cơ bản cung cấp chức năng đặc thù cho Android Hệ thống thực thi được thiết kế nhỏ gọn và hiệu quả khi sử dụng trên các thiết bị di động 5 Một kiến trúc ứng dụng cung cấp các dịch vụ hệ thống cho tầng ứng dụng bao gồm quản lí cửa sổ, quản lí vị trí, cung cấp nội dung và các cảm biến 6 Một kiến trúc giao diện người dùng để lưu trữ và chạy các ứng dụng 7 Một số ứng dụng được cài đặt sẵn được coi như một phần của bộ ứng dụng 8 Một bộ phát triển ứng dụng bao gồm các công cụ và tài liệu Hình 2.1: Các thành phần của hệ điều hành Android 2.1.2 Sơ lƣợc các phiên bản Android Android là một nền tảng mới và phát triển nhanh Các phiên bản thông thường được phát hành sau khoảng 6 tháng Sau đây là danh sách các phiên bản chính và sự thay đổi lớn trong mỗi phiên bản Android  OHA giới thiệu Android (5-11-2007)  Phát hành SDK (12-11-2007) SVTH: Tưởng Thành Nhật – CCLT04B Trang 4

Ngày đăng: 07/03/2024, 22:16

Tài liệu cùng người dùng

Tài liệu liên quan