Ứng dụng đo tốc độ xe chạy và cảnh báo vượt tốc độ bằng GPS cho Android ( đồ án được đánh giá cao trong thực tế), khi xe chạy quá tốc độ sẽ có cảnh báo và đổi màu ứng dụng. Ứng dụng đo tốc độ xe chạy và cảnh báo vượt tốc độ bằng GPS cho Android ( đồ án được đánh giá cao trong thực tế), khi xe chạy quá tốc độ sẽ có cảnh báo và đổi màu ứng dụng.
Trang 1Nhận xét của giáo viên hướng dẫn
Nhận xét của giáo viên phản biện 1
Trang 2
Nhận xét của giáo viên phản biện 2
Trang 3
LỜI CẢM ƠN
Trải qua một thời gian dài tìm hiểu và nỗ lực, nhóm em đã hoàn thành đồ án
5 với đề tài : « Tìm hiểu về hệ điều hành Android và xây dựng ứng dụng đo tốc
độ bằng GPS cho Android »
Để hoàn thành đồ án trên, lời đầu tiên chúng em xin chân thành cảm ơn quý thầy, cô khoa Công nghệ thông tin trường Đại học SPKT Hưng Yên – những người
đã trực tiếp giảng dạy, truyền đạt những kiến thức bổ ích cho chúng em, đó chính
là những nền tảng cơ bản, là những hành trang vô cùng quý giá, là bước đầu tiên
Trang 4em muốn gửi đến thầy…, thầy là người trực tiếp hướng dẫn chúng em trong quá
trình học tập và nghiên cứu Chúng em cám ơn Thầy đã tận tình quan tâm, giúp đỡchúng em trong quá trình học tập, giải đáp những thắc mắc trong quá trình làm đồ
án của chúng em Nhờ đó chúng em mới có thể hoàn thành được đề tài này
Trong quá trình tìm hiểu và làm báo cáo, vì chưa có kinh nghiêm thực tế, chỉdựa vào những ý kiến chủ quan nên bài báo cáo chắc chắn sẽ không tránh khỏinhững sai sót Chúng em kính mong nhận được sự góp ý, nhận xét từ phía quýthầy, cô để kiến thức của chúng em ngày càng hoàn thiện hơn và rút ra được kinhnghiệm bổ ích có thể áp dụng vào đồ án tốt nghiệp sau này một cách hiệu quả nhất Chúng em kính chúc các thầy, cô luôn vui vẻ, hạnh phúc, dồi dào sức khỏe vàthành công trong công việc
Chúng em xin chân thành cảm ơn quý thầy, cô !
MỤC LỤCNhận xét của giáo viên hướng dẫn
1
Nhận xét của giáo viên phản biện 1
2
Nhận xét của giáo viên phản biện 2
3
LỜI CẢM ƠN
4
Trang 5MỤC LỤC
5
PHẦN 1: MỞ ĐẦU
1 Lý do chọn đề tài
7
2 Khách thể và đối tượng nghiên cứu
7
3 Giới hạn và phạm vi nghiên cứu
7
4 Mục đích nghiên cứu
7
5 Nhiệm vụ nghiên cứu
7
6 Phương pháp nghiên cứu
8
7 Ý nghĩa lý luận và thực tiễn của đề tài
8
PHẦN 2: NỘI DUNG CHƯƠNG 1: TÌM HIỂU VỀ LẬP TRÌNH ANDROID
9
I. Giới thiệu về hiệu điều hành Android
Trang 69
II. Các ứng dụng có sẵn trong Android
10
III. Các thư viện của Android
11
IV. Ba ứng dụng trong Android
12
V. Các thành phần trong một ứng dụng Android
12
1. Android Project
13
2. Android Manifest
15
3. Activity
16
Tạo một Activity
17
Kiểm soát vòng đời Activity
17
Các phương thức tương ứng trong vòng đời Activity 18
CHƯƠNG 2 CÀI ĐẶT MÔI TRƯỜNG CHO LẬP TRÌNH ANDROID
I. Cài đặt
20
1 Tải và cài đặt Android SDK
Trang 720 2 Cài đặt ADT Plugin cho Eclipse
28 II. Tạo mới một Android project .
34 PHẦN 3: MỘT SỐ ĐIỀU KHIỂN TRONG ECLIPSE I. Cách tạo giao diện cho ứng dụng 39
II. Các layout 40
III. Các control cơ bản trong Eclipse 40
1. TextView 40
2. EditText 41
3. Button 42
PHẦN 4 XÂY DỰNG ỨNG DỤNG ĐO TỐC ĐỘ BẰNG GPS CHO ANDROID I. Mục tiêu
44 II. Xây dựng
44 1. Yêu cầu về giao diện
44 2. Thiết kế giao diện người dùng cho ứng dụng
45 3. Viết code cho ứng dụng 46
Trang 8PHẦN 1: MỞ ĐẦU
1. Lý do chọn đề tài
Cùng với sự phát triển như vũ bão của Công nghệ thông tin và các hệđiều hành trên máy tính, các hệ điều hành trên di động ngày nay đang trở nênrất được quan tâm Các hệ điều hành tiêu biểu như Windows Phone củaMicrosoft, Symbian của Motorola, Nokia và Ericsson, iOs của Apple… và đặcbiệt hệ điều hành chúng em muốn nói tới là Android của Google – một trongnhững hệ điều hành phổ biến nhất trên thế giới Android là một hệ điều hành mãnguồn mở, chỉ cần nắm được lập trình java và một số khái niệm trong Android
- Đối tượng nghiên cứu: Ứng dụng GPS trong Android
3. Giới hạn và phạm vi nghiên cứu
Hệ điều hành Android là hệ điều hành hiện đại với rất nhiều các ứng dụng và tiện ích Tuy nhiên, trong phạm vi đề tài này , chúng em chỉ đi đến các vấn đề sau đây:
- Nghiên cứu về kiến trúc hệ điều hành Android
Trang 9- Cài đặt các gói cần thiết để lập trình cho hệ điều hành Android
- Nghiên cứu xây dựng ứng dụng đo tôc độ bằng GPS cho Android
4. Mục đích nghiên cứu
- Hiểu được kiến trúc của hệ điều hành Android
- Biết được cách cài đặt và tạo 1 project trong Android
- Xây dựng được ứng dụng nghe nhạc đơn giản cho Android
5. Nhiệm vụ nghiên cứu
- Tìm hiểu chung về hệ điều hành Android
- Tìm hiểu về các cài đặt cần thiết cho lập trình Android
- Tìm hiểu để xây dựng ứng dụng đo tốc độ bằng GPS cho Android
6. Phương pháp nghiên cứu
- Nghiên cứu và tìm hiểu qua internet…
- Tham khảo ý kiến của các bạn cùng học lập trình
- Tham khảo ý kiến của thầy giáo, bạn bè…
7. Ý nghĩa lý luận và thực tiễn của đề tài
- Ý nghĩa lý luận: Đề tài được hoàn thành về mặt tài liệu sẽ là nguồn thamkhảo dễ hiểu, thiết thực cho những ai thích nghiên cứu, lập trình các phần mềmứng dụng cho hệ điều hành Android
- Ý nghĩa thực tiễn: Xây dựng được một ứng dụng đo tốc độ bằng GPS choAndroid Ứng dụng này rất hữu ích khi lái xe hoặc đi trên đường vì ứng dụng
sẽ báo động khi tốc độ vượt quá mức cho phép
Trang 10PHẦN 2: NỘI DUNG
CHƯƠNG 1: TÌM HIỂU VỀ LẬP TRÌNH ANDROID
Android là hệ điều hành chạy trên điện thoại di động được phát triển từ nhânLinux, mang nhiều đặc tính đặc trưng của một hệ điều hành di động nhưng vẫnmang các tính chất chung của các hệ điều hành Là một hệ điều hành hiện đại,tuy ra đời muộn nhưng lại được phát triển từ Linux, rút kinh nghiệm từ những
hệ điều hành đi trước, được tích hợp nhiều công nghệ tiên tiến và đặc biệt làđược phát triển từ một “ông trùm công nghệ” tầm cỡ thế giới là Google nênAndroid đã sớm tìm được chỗ đứng của mình
Giao diện màn hình khoá(Android 2.3) Giao diện màn hình chính(Android 2.3)
Trang 11Không giống như Windows Mobile và Apple Iphone, tuy cả hai đều cungcấp một môi trường phát triển ứng dụng phong phú và dễ tiếp cận nhưng luôn
có sự ưu tiên cho các ứng dụng mặc định có sẵn của hệ điều hành(nativeapplication) Với Android, mọi ứng dụng đều được viết trên cùng một tập API,thế nên không có sự phân biệt giữa các ứng dụng mặc định và các ứng dụng củabên thứ ba Người dùng hoàn toàn có thể thay thế mọi ứng dụng mặc định bằngcác ứng dụng yêu thích của mình, thậm chí ngay cả màn hành thực hiện cuộcgọi và màn hình nhà (home screen)
Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java Sự ramắ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ênminh 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 đích tạo nên một chuẩn mở cho điện thoại di độngtrong tương lai
Một điện thoại Android thông thường sẽ đi kèm với một vài ứng dụng đãđược cài đặt sắn, bao gồm:
- Một trình email tương thích với Gmail
- Chương trình quản lý tin nhắn SMS
- Chương trình quản lý thông tin cá nhân, bao gồm cả lịch làm việc, danh bạ,
và được đồng bộ hoá với dịch vụ của Google
- Phiên bản thu gọn của Google Map cho điện thoại, bao gồm StreetView, tìmkiếm địa điểm, chỉ đường, tình trạng giao thông,…
- Trình duyệt web dựa trên nhân WebKit
- Chương trình tán gẫu (chat)
- Trình đa phương tiện (chơi nhạc, xem ảnh,…)
- Android Marketplace – cho phép người dùng tải về và cài đặt các ứng dụngmới
- Tất cả các ứng dụng có sẵn đều được viết bằng ngôn ngữ Java và sử dụngAndroid SDK
- Các dữ liệu về thông tin người dùng được các ứng dụng có sẵn sử dụng – nhưthông tin về danh bạ - vẫn hoàn toàn có thể được sử dụng bởi các ứng dụngcủa bên thứ ba
Tương tự vậy, ứng dụng của bạn hoàn toàn có thể xử lý các sự kiện như có
Trang 12III. Các thư viện của Android
Android cung cấp các gói API để phát triển ứng dụng Danh sách các gói core API dưới đây giúp cho chúng ta có cái nhìn tổng quát về những gì được hỗ trợ sẵn, tất cả các thiết bị chạy Android đều phải hỗ trợ được tối thiểu các API này
Trang 13Gói API cấp cao, bao gồm lớp Activity và Service - hai lớp cơ sở cho mọi ứng dụng Android
Hầu hết các ứng dụng trong Android sẽ thuộc vào một trong ba loại sau đây:
Intermittent Activity
Ứng dụng loại này vừa nhận tương tác của người dùng, và vẫn có thểtiếp tục hoạt động ngầm khi bị ẩn đi Có thể đưa ra các thông báo chongười dùng khi cần thiết trong lúc đang bị ẩn Các ứng dụng loại này cóthể kể đến như: ứng dụng nghe nhạc, ứng dụng tán gẫu (chat),…
Trang 14Android Project cơ bản
Trong một thư mục project, có một số thành phần (file, thư mục con) được tạo
ra mặc định, còn lại phần lớn thì sẽ được tạo ra sau nếu cần trong quá trình pháttriển ứng dụng Dưới đây liệt kê cấu trúc đầy đủ của một thư mục project:
src/
Chứa toàn bộ source code (file java hoặc aidl)
bin/
Trang 15Thư mục chức file Output sau khi build Đây là nơi bạn có thể tìm file.apk
2. Android Manifest
Trang 16Mỗi một Android project thì luôn phải có một file AndroidManifest.xml(xem bên trên) Manifest dùng để định nghĩa cấu trúc cũng như các metadatacủa ứng dụng và các thành phần con Manifest bắt đầu bằng thẻ root <manifest>với thuộc tính package để quy ước package của project và thuộc tínhxmlns:android như là một quy định để chuẩn hóa cấu trúc file manifest Dướiđây là một file Manifest sau khi project được tạo ra:
File AndroidManifest mặc định khi tạo một project
Manifest bao gồm nhiều thẻ định nghĩa các thành phần của ứng dụng, cácthiết lập về bảo mật, các lớp test,… Dưới đây là danh sách các thẻ có thể xuất hiệntrong file manifest:
<application>
Một file manifest chỉ có thể chứa một thẻ application Thẻ này dùng
để chỉ định các metadata (bao gồm title, icon, theme,…) và các thành phần cho ứng dụng Nó đồng thời cũng là thẻ cha của các thẻ Activity, Service, Content Provider, và Broadcast Receiver
<application android:icon="@drawable/icon"
Trang 17<service android:enabled="true" android:name=".MyService">
</service>
<uses-permission>
Quy định các quyền hạn mà ứng dụng muốn sử dụng trên hệ thống
Và người dùng sẽ phải xác nhận các quyền này trong khi cài ứng dụng Điềunày đảm bảo cho việc ứng dụng không thể toàn { sử dụng các tài nguyên của
hệ thống (tin nhắn, danh bạ, thông tin cá nhân, camera, định vị, mạng,…) Đây là một điểm bảo mật cần lưu ý
Trang 18Activity mặc định khi tạo project
Một ứng dụng thường bao gồm nhiều activity liên kết với nhau Thông thường một activity của ứng dụng đóng vai trò activity chính và được hiển thị cho người
sử dụng trong lần đầu tiên chạy ứng dụng Mỗi activity có thể khởi chạy một
activity khác
Tạo một Activity
Để tạo một activity, bạn phải tạo một subclass cho Activity (hoặc cho chính nó) Trong subclass, bạn cần phải xác định cách thức callback mà hệ thống sẽ sử dụng khi có sự chuyển đổi trạng thái của activity chẳng hạn như khi activity được tạo, dừng lại, resume hoặc bị hủy Có 2 phương thức callback quan trọng:
onCreate()
Bạn cần phải hiện thực hóa phương thức này, vì hệ thống sẽ gọi tới method này mỗi khi activity được khởi động Và quan trọng, đây chính là nơi cần gọi phương thức setContentView() để xác định bố cục cho giao diện người dùng
onPause()
Hệ thống sẽ gọi tới phương thức này khi người dùng rời khỏi ứng dụng (nó không đồng nghĩa với việc activity sẽ bị hủy) Đây là nơi ta sẽ thực hiện lưu lại trạng thái, hoặc không làm gì cả (vì người dùng có thể không trở lại)
Trang 19Dưới đây là danh sách các phương thức có thể được gọi cùng với giải thích cụ thể:
onCreate()
Gọi khi Activity lần đầu tiên được tạo Đây là nơi bạn thực hiện mọi các khai báo cũng như thiết lập giao diện Luôn được theo sau bởi phương thức onStart()
onResume()
Chỉ được gọi khi Activity bắt đầu các tương tác với người dùng
Luôn được theo sau bởi phương thức onPause()
onStop()
Gọi khi Activity không còn được sử dụng nữa Nó có thể sẽ bị hủy bỏ,hoặc có thể sẽ lại được kích hoạt lại từ một Activity khác Theo sau bởi onRestart() nếu nó được kích hoạt lại, hoặc onDestroy() nếu nó bị hủy bỏ bởi hệ thống
onDestroy()
Gọi trước khi Activity thật sự bị hủy bỏ, đây là lời gọi cuối cùng mà Activity có thể thực hiện Phương thức này có thể được gọi bởi vì ở đâu đó
có lời gọi finish() hoặc finishActivity(), cũng có thể vì hệ thống cần phải hủy
bỏ để giải phóng bộ nhớ Không được theo sau bởi phương thức nào
Trang 20Sơ đồ minh hoạ vòng đời Activity
Trang 21CHƯƠNG 2: CÀI ĐẶT MÔI TRƯỜNG LẬP TRÌNH CHO
+ Eclipse với ADT plug-in
1. Tải và cài đặt Android SDK
Để tải về và cài đặt,chúng ta truy cập vào trang web:
http://developer.android.com/sdk
Sau khi tải về,chúng ta bắt đầu cài đặt như sau:
Double-click vào biểu tượng SDK sau khi đã tải về để cài đặt
Trang 22Cửa sổ hiện ra,chọn Next để cài đặt.
Cài đặt sẽ tự động tìm xem trong máy đã cài đặt Java Development Kit(JDK) chưa,nếu chưa sẽ tự động tải về và cài đặt, nếu trong máy đã có ta chọn Next.
Sau đó ta tiến hành cài đặt như những phần mềm thông dụng
Một cửa sổ hiện ra, ta chọn Finish để hoàn tất cài đặt.
- Sau khi cài đặt, ta khởi động SDK Manager:
Trang 23Vào Start - All Program – Android SDK Tools – SDK Manager
Ta tiến hành cài đặt gói SDK chính(phiên bản mới nhất là Android 4.2.2 Chúng ta chọn nền tảng phù hợp cho điện thoại chúng ta sử dụng rồi click đánh dấu.Và đánh
dấu mục Tools để cài đặt các công cụ cho SDK Tiếp theo, chọn Install packages.
Trang 24Chọn Install để bắt đầu quá trình cài đặt.
Trang 25Cài đặt sẽ download các file cần thiết về(ta cần có kết nối Internet),quá trình này lâu hay chậm tuỳ thuộc vào tốc độ download của mạng.
- Sau khi cài đặt xong,ta vào ADV Manager
Chúng ta vào ADV Manager để tạo ra 1 thiết bị chạy Android ảo ADV là 1 máy ảovới cấu hình phần cứng tuỳ chỉnh,nơi có thể chạy Android cũng như các ứng dụng trên Android
Vào Start – All Program – Android SDK Tools – ADV Manager
Trang 26Cửa sổ hiện ra,chọn New… để tạo mới máy ảo.
- Name :Tùy ý (nhưng chỉ được sử dụng các ký tự "a-z", "A-Z", ".-_", nghĩa
là cả khoảng trắng cũng ko đc)
- Target: chọn nền tảng phù hợp mà ta muốn thiết bị sẽ chạy, chúng ta chọn
nền tảng phù hợp với điện thoại mà chúng ta ứng dụng Tất cả các nền tảng chúng ta vừa Install ở SDK Manager sẽ hiển thị ở đây
- CPU/ABI: ta chọn AMR
- SD Card: gõ vào Size SD card ảo cho AVD, hoặc chỉnh tới file đã có sẵn
Nhiều AVD có thể dùng chung 1 Sdcard (chỉ cần tạo lần đầu, các lần sau chỉnh đường dẫn tới file đó)
- Skin: có thể để Default hoặc chọn kích cỡ màn hình chúng ta muốn.
- Còn những mục khác ta có thể để mặc định
Sau đó chọn Create ADV
Trang 27Cửa sổ hiện lên báo kết quả của việc cài đặt và các thông số ta vừa lựa chọn:dung lượng Ram
Ta bấm OK để tiếp tục
Sau khi tạo xong AVD,ta sẽ thấy tên của AVD xuất hiện trong danh sách.Ta
chọn vào AVD đó và chọn Start…
Trang 28Chọn Launch để tiếp tục.
Cài đặt bắt đầu trình giả lập cho thiết bị
Cửa sổ này hiện ra nghĩa là ta đã cài đặt thành công cho thiết bị
2. Cài đặt ADT Plugin cho Eclipse
Trước khi cài đặt ADT,Eclipse phải được cài đặt sẵn.Chúng ta download eclipse ở trang web: http://www.eclipse.org/downloads
Trang 29Sau khi tải về,thư mục Eclipse sẽ có các mục như trên,chúng ta chọn file :
eclipse
Chọn nơi lưu project vào 1 thư mục bạn tuỳ chọn Click OK để tiếp tục.