Ứ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.
Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin Nhận xét giáo viên hướng dẫn Nhận xét giáo viên phản biện Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin Nhận xét giáo viên phản biện Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin LỜI CẢM ƠN Trải qua thời gian dài tìm hiểu nỗ lực, nhóm em hồn thành đồ án với đề tài : « Tìm hiểu hệ điều hành Android xây dựng ứng dụng đo tốc độ GPS cho Android » Để hoàn thành đồ án trên, lời 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 – người trực tiếp giảng dạy, truyền đạt kiến thức bổ ích cho chúng em, tảng bản, hành trang vô quý giá, bước cho chúng em bước vào tương lai Và đặc biệt - lời cảm ơn sâu sắc - chúng Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin em muốn gửi đến thầy…, thầy người trực tiếp hướng dẫn chúng em trình học tập nghiên cứu Chúng em cám ơn Thầy tận tình quan tâm, giúp đỡ chúng em trình học tập, giải đáp thắc mắc trình làm đồ án chúng em Nhờ chúng em hồn thành đề tài Trong q trình tìm hiểu làm báo cáo, chưa có kinh nghiêm thực tế, dựa vào ý kiến chủ quan nên báo cáo chắn không tránh khỏi sai sót Chúng em kính mong nhận góp ý, nhận xét từ phía q thầy, để kiến thức chúng em ngày hoàn thiện rút kinh nghiệm bổ ích áp dụng vào đồ án tốt nghiệp sau cách hiệu Chúng em kính chúc thầy, cô vui vẻ, hạnh phúc, dồi sức khỏe thành công công việc Chúng em xin chân thành cảm ơn quý thầy, cô ! MỤC LỤC Nhận xét giáo viên hướng dẫn Nhận xét giáo viên phản biện Nhận xét giáo viên phản biện LỜI CẢM ƠN 4 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin MỤC LỤC PHẦN 1: MỞ ĐẦU Lý chọn đề tài Khách thể đối tượng nghiên cứu Giới hạn phạm vi nghiên cứu Mục đích nghiên cứu Nhiệm vụ nghiên cứu Phương pháp nghiên cứu Ý nghĩa lý luận thực tiễn đề tài PHẦN 2: NỘI DUNG CHƯƠNG 1: TÌM HIỂU VỀ LẬP TRÌNH ANDROID I Giới thiệu hiệu điều hành Android Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin II III IV V Các ứng dụng có sẵn Android 10 Các thư viện Android 11 Ba ứng dụng Android 12 Các thành phần ứng dụng Android 12 Android Project 13 Android Manifest 15 Activity 16 Tạo Activity 17 Kiểm sốt vòng đời Activity 17 Các phương thức tương ứng vòng đời Activity .18 CHƯƠNG CÀI ĐẶT MƠI TRƯỜNG CHO LẬP TRÌNH ANDROID I Cài đặt 20 Tải cài đặt Android SDK Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin 20 Cài đặt ADT Plugin cho Eclipse 28 II Tạo Android project 34 PHẦN 3: MỘT SỐ ĐIỀU KHIỂN TRONG ECLIPSE I II III Cách tạo giao diện cho ứng dụng .39 Các layout 40 Các control Eclipse .40 TextView .40 EditText 41 Button 42 PHẦN XÂY DỰNG ỨNG DỤNG ĐO TỐC ĐỘ BẰNG GPS CHO ANDROID I II Mục tiêu 44 Xây dựng 44 Yêu cầu giao diện 44 Thiết kế giao diện người dùng cho ứng dụng 45 Viết code cho ứng dụng 46 PHẦN 5: KẾT LUẬN Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin PHẦN 1: MỞ ĐẦU Lý chọn đề tài Cùng với phát triển vũ bão Công nghệ thông tin hệ điều hành máy tính, hệ điều hành di động ngày trở nên quan tâm Các hệ điều hành tiêu biểu Windows Phone Microsoft, Symbian Motorola, Nokia Ericsson, iOs Apple… đặc biệt hệ điều hành chúng em muốn nói tới Android Google – hệ điều hành phổ biến giới Android hệ điều hành mã nguồn mở, cần nắm lập trình java số khái niệm Android làm chủ Chính lý đó, chúng em lựa chọn đề tài “Tìm hiểu hệ hiều hành Android xây dựng ứng dụng đo tốc độ GPS cho Android” Khách thể đối tượng nghiên cứu - Khách thể: Hệ điều hành Android - Đối tượng nghiên cứu: Ứng dụng GPS Android Giới hạn phạm vi nghiên cứu Hệ điều hành Android hệ điều hành đại với nhiều ứng dụng tiện ích Tuy nhiên, phạm vi đề tài , chúng em đến vấn đề sau đây: - Nghiên cứu kiến trúc hệ điều hành Android Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thơng tin Cài đặt 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 độ GPS cho Android Mục đích nghiên cứu - Hiểu kiến trúc hệ điều hành Android - Biết cách cài đặt tạo project Android - Xây dựng ứng dụng nghe nhạc đơn giản cho Android Nhiệm vụ nghiên cứu - Tìm hiểu chung hệ điều hành Android - Tìm hiểu 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 độ GPS cho Android Phương pháp nghiên cứu - Nghiên cứu tìm hiểu qua internet… - Tham khảo ý kiến bạn học lập trình - Tham khảo ý kiến thầy giáo, bạn bè… Ý nghĩa lý luận thực tiễn đề tài - Ý nghĩa lý luận: Đề tài hoàn thành mặt tài liệu nguồn tham - khảo dễ hiểu, thiết thực cho thích nghiên cứu, lập trình phần mềm ứng dụng cho hệ điều hành Android - Ý nghĩa thực tiễn: Xây dựng ứng dụng đo tốc độ GPS cho Android Ứng dụng hữu ích lái xe đường ứng dụng báo động tốc độ vượt mức cho phép Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin PHẦN 2: NỘI DUNG CHƯƠNG 1: TÌM HIỂU VỀ LẬP TRÌNH ANDROID I Giới thiệu hệ điều hành Android Android hệ điều hành chạy điện thoại di động phát triển từ nhân Linux, mang nhiều đặc tính đặc trưng hệ điều hành di động mang tính chất chung hệ điều hành Là hệ điều hành đại, đời muộn lại phát triển từ Linux, rút kinh nghiệm từ hệ điều hành trước, tích hợp nhiều cơng nghệ tiên tiến đặc biệt phát triển từ “ông trùm công nghệ” tầm cỡ giới Google nên Android sớm tìm chỗ đứng Giao diện hình khố(Android 2.3) Giao diện hình chính(Android 2.3) 10 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin II Cuối chọn Apply – OK để kết thúc trình cấu hình Tạo Android Project Trong Eclipse, vào Menu File → New → Project Nếu ADT plug-in cài đặt thành cơng cửa sổ chọn loại project xuất trông giống sau: 35 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin Chọn Android Application Project nhấn Next Ta điền tên Application Name Project Name, Package Name tên package chứa source code - Minimum Required SDK: Phiên SDK thấp đáp ứng Target SDK: phiên đích ta muốn hướng tới Compile With: Phù hợp với phiên Theme: chủ đề cho giao diện tạo 36 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin nhấn Next - Create custom launcher icon: cho phép tạo icon cho ứng dụng Create activity: cho phép tạo Activity Mark this project as a library: đánh dấu project thư viện Create Project in Workspace: chọn nơi lưu project Chọn Next Chúng ta cấu hình icon chạy project, chọn ảnh khác mục Browse -> Chọn Next 37 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin Chọn kiểu activity với điều hướng khác -> Chọn Next để tiếp tục - Activity Name: tên Activity mà làm việc Layout Name: tên layout mà ta tạo giao diện người dùng Navigation Type: loại điều hướng project Nếu tất hoạt động tốt, project sẵn sàng Ta chạy thử : vào menu Run > Run, chọn “Android Application” ADT plug-in tự động làm việc: khởi động Android Emulator, đóng gói ứng dụng, cài ứng dụng vào “thiết bị ảo”, sau chạy ứng dụng Ta thấy giao diện ứng dụng Android sau: 38 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin PHẦN 3: MỘT SỐ ĐIỀU KHIỂN TRONG ECLIPSE I Cách tạo giao diện cho ứng dụng Eclipse cho phép tạo giao diện cách, sử dụng đồ họa (Graphical Layout) sử dụng code file xml Sử dụng giao diện đồ họa Eclipse 39 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin Sử dụng giao diện code Eclipse II Các layout Layout dùng để quản lý thành phần giao diện khác theo trật tự định - FrameLayout: Layout đơn giản nhất, thêm thành phần vào góc bên trái hình - LinearLayout: thêm thành phần theo chiều định (ngang dọc) Đây layout sử dụng nhiều - RelativeLayout: thêm thành phần dựa mối quan hệ với thành phần khác với biên layout 40 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin - TableLayout: thêm thành phần dựa lưới ô ngang dọc - AbsoluteLayout: thêm thành phần dựa theo tọa độ x, y Layout sử dụng nhằm mục đích thiết kế giao diện cho nhiều độ phân giải Thường lập trình nên kết hợp nhiều layout với để tạo giao diện ta mong muốn III - Các control Eclipse TextView Cho phép hiển thị thông tin mà không cho phép người dùng chỉnh sửa thông tin TextView tương tụ Label bên C# mà học TextView bản: + Ta nên thiết lập id cho control để dễ xử lý + layout_width, layout_height nên thiết lập cho control(bắt buộc) để định chiều rộng chiều cao cho TextView + Để thay đổi cỡ chữ dùng textSize, thay đổi màu chữ dùng textColor… - Lấy control thông qua Id: TextView tv = (TextView)findViewById(R.id.tv1); - Để hiển thị thông tin lên control TextView ta dùng lệnh: tv.setText("Xin chao"); - EditText Control kế thừa từ TextView cho phép chỉnh sửa liệu Để sử dụng EditText, ta việc kéo thả control vào giao diện tiến hành thiết lập số thuộc tính: 41 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thơng tin - Như hình bên trên, ta cần kéo loại EditText mà ta cần (vùng số 1) thả vào giao diện (vùng số 2) Một số thuộc tính EditText: - + Thuộc tính hint : để hiển thị thông tin gợi ý vùng nhập liệu bạn chưa nhập liệu vào, cần có liệu phần hint tự động + textSize: để thiết lập kích cỡ font chữ cho EditText Tương tự TextView, ta phải lấy control thông qua Id, thao tác với liệu bên EditText: EditText txt=(EditText) findViewById(R.id.ed1); - Thiết lập giá trị cho EditText: txt.setText("Viết đó"); - Button Dùng để thiết lập kiện người dùng chọn lựa Cũng kế thừa từ TextView 42 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Cơng nghệ thơng tin - Có kiện mà người sử dụng thường xuyên thao tác: Button btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }); btn.setOnLongClickListener(new View OnLongClickListener() { @Override public boolean onLongClick(View v) { // TODO Auto-generated method stub return false; } }); } - Sự kiện setOnClickListener: kiện bấm vào button Sự kiện setOnLongClickListener: kiện giữ lâu vào button 43 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin PHẦN 4: XÂY DỰNG ỨNG DỤNG ĐO TỐC ĐỘ BẰNG GPS CHO ANDROID Mục tiêu Xây dựng chương trình đo tốc độ cho android với chức hiển thị tốc độ thiết bị di chuyển Phương thức hoạt động: người dùng sử dụng GPS thiết bị android để đo tốc độ di chuyển Nếu tốc độ vượt 60 km/h ứng dụng cảnh báo cách phát chuông cảnh báo hiển thị hình màu đỏ, tốc độ 50km hiển thị màu xanh 50 km hiển thị màu đen II Xây dựng Yêu cầu giao diện I - 44 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin - Thiết kế giao diện người dùng cho ứng dụng Từ hình thiết kế project, ta kéo TextView vào thiết lập thuộc tính cho bên file xml Ta kéo thêm TextView vào lấy TextView để làm tiêu đề cho ứng dụng, ta thiết lập thuộc tính sau: - Tiếp theo thiết lập Id cho RelativeLayout: - Code cho giao diện phần Viết code cho ứng dụng 45 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin - Vào file CanhbaoActivity.java thư mục src: - Tạo thư mục raw/ bên thư mục res/ add nhạc vào thư mục res Trong file CanhbaoActivity.java, chúng em viết code sau: Các thư viện sử dụng project: • - 46 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin import import import import import import import import import import import - android.app.Activity; android.content.res.AssetFileDescriptor; android.graphics.Color; android.location.Location; android.location.LocationManager; android.media.AudioManager; android.media.MediaPlayer; android.os.Bundle; android.util.Log; android.view.ViewGroup; android.widget.TextView; Tạo class Vitri class chính, chúng em thiết lập hàm LocationListener để bắt kiện Location public class Vitri implements android.location.LocationListener { @Override public void onLocationChanged(Location location) { // TODO Auto-generated method stub capnhat(location); - Hàm cập nhật vừa gọi class Vitri viết sau: public void capnhat(Location location) { tocdo.setText(formatSpeed(location.getSpeed())); int speed = Math.round(location.getSpeed() * (float)3.6); if (speed > 60) { mainLayout.setBackgroundColor(Color.RED); tocdo.setTextColor(Color.BLACK); try { baodong(); } catch (Exception e) { e.printStackTrace(); } } else if (speed > 50) { mainLayout.setBackgroundColor(Color.GREEN); tocdo.setTextColor(Color.BLACK); mp.stop(); } else { mainLayout.setBackgroundColor(Color.BLACK); tocdo.setTextColor(Color.RED); mp.stop(); Phân tích: Hàm location.getSpeed() gọi giá trị tốc độ từ GPS sau gán vào textview tocdo, sau biến speed biến chuyển đổi giá trị gọi sang • - 47 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin - - km/h( câu lệnh location.getSpeed() trả đơn vị m/s nên nhân với 3.6 để đổi km/h) Hàm Math.round làm tròn số nhận Câu lệnh if – else kiểm tra tốc độ speed nhận lớn 60, thực chuyển hình màu đỏ TextView hiển thị tốc độ chuyển sang màu đen Tương tự vậy, tốc độ lớn 50 hình chuyển sang màu xanh chữ mà đen Còn 50 hình màu đen chữ màu đỏ Hàm baodong() hàm phát nhạc tốc độ vượt 60 km/h Chúng ta viết hàm baodong() sau: private void baodong() throws Exception{ AssetFileDescriptor Af = getResources().openRawResourceFd(R.raw.baodong); if(Af != null) { mp = new MediaPlayer(); mp = MediaPlayer.create(this, R.raw.baodong); mp.setAudioStreamType(AudioManager.STREAM_MUSIC); mp.start(); } } AssetFileDescriptor thực lấy nguồn nhạc từ file raw Sau kiểm tra nguồn nhạc tồn thực khai báo MediaPlayer, sau tìm đến file nhạc bắt đầu chạy (mp.start();) - Chúng ta thực đóng ứng dụng bấm nút để khơng bị phát nhạc kết thúc, chúng em thực sau: @Override protected void onDestroy() { super.onDestroy(); dongungdung(); } private void dongungdung() { if(mp!=null) { try { mp.release(); } catch(Exception e) { e.printStackTrace(); } } } PHẦN 5: KẾT LUẬN 48 Trường Đại học Sư Phạm Kỹ Thuật Hưng Yên Khoa : Công nghệ thông tin Sau thời gian làm việc nghiêm túc với hướng dẫn thầy, chúng em hoàn thành đồ án với đề tài: “ Tìm hiểu hệ điều hành Android xây dựng ứng dụng đo tốc độ GPS cho Android ” Mặc dù đồ án hoàn thành chúng em khơng thể tránh khỏi sai sót, chúng em mong góp ý thầy để báo cáo chúng em hoàn thiện tránh lỗi mắc phải đồ án tốt nghiệp tới Chúng em xin chân thành cảm ơn quý thầy, cô !!! 49 ... thực cho thích nghiên cứu, lập trình phần mềm ứng dụng cho hệ điều hành Android - Ý nghĩa thực tiễn: Xây dựng ứng dụng đo tốc độ GPS cho Android Ứng dụng hữu ích lái xe đường ứng dụng báo động tốc. .. trình cho hệ điều hành Android Nghiên cứu xây dựng ứng dụng đo tơc độ GPS cho Android Mục đích nghiên cứu - Hiểu kiến trúc hệ điều hành Android - Biết cách cài đặt tạo project Android - Xây dựng ứng. .. PHẦN XÂY DỰNG ỨNG DỤNG ĐO TỐC ĐỘ BẰNG GPS CHO ANDROID I II Mục tiêu 44 Xây dựng 44 Yêu cầu giao diện 44 Thiết kế giao diện người dùng cho ứng dụng