Mua SourceCode inbox fb: https://www.facebook.com/Wigk.nam.n98/ Mục LụcLời nói đầu3Chương 1 Tổng quan41.Tổng quan về lập trình Android.41.1.Android là gì?41.2.Đặc tính mở của android41.3.Kiến trúc của Android52.Ngôn ngữ lập trình và môi trường lập trình Android63.Tìm hiểu về công cụ lập trình trên Android Studio83.1.Bộ phát triển ngôn ngữ Java : Java Development Kit (JDK)83.2.Bộ Công cụ phát triển phần mềm : Software Development Kit (SDK):8Chương 2 Cảm biến và mô phỏng chương trình101.Khái niệm về cảm biến102.Phân loại113.Vai trò124.Sensor trong Android Studio124.1.Sensor và SensorManager124.2.Các loại Sensor thông dụng134.3.Các bước và kinh nghiệm làm việc với Sensor145.Cảm biến từ kế155.1.Từ kế155.2.Phân loại165.3.Cảm biến từ kế trong Android Studio166.Giới thiệu chương trình177.Chương trình207.1.Các câu lệnh tạo giao diện207.2.Chương trình chính21Tài liệu tham khảo ……………………….....…………………….…24 Lời nói đầuAndroid là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một số đầu phát HD, HD Player, TV) dựa trên nền tảng Linux kernel và các phần mềm mã nguồn mở. Lập trình android là một lập trình ứng dụng di động phổ biến. Android được xây dựng để cho phép các nhà phát triển tạo ra các ứng dụng di động hấp dẫn, tận dụng tất cả các tính năng của một chiếc điện thoại đã cung cấp.Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet...Sau khi hoàn thành học phần Phát triển ứng dụng cho thiết bị di động, nhóm 5 chúng em xin xây dựng một chương trình ứng dụng Android điều khiển thiết bị thông qua WiFi. Đề tài được kết hợp giữa thiết bị di động sử dụng nền tảng hệ điều hành Android và từ kế, nhằm ứng dụng dò tìm kim loại. Chương 1 Tổng quan1.Tổng quan về lập trình Android.1.1.Android là gì? Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một số đầu phát HD, HD Player, TV) dựa trên nền tảng Linux kernel và các phần mềm mã nguồn mở. Lập trình android là một lập trình ứng dụng di động phổ biến. Trước đây, Android được phát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào năm 2005). Android là hệ điều hành mở mã nguồn chính duy nhất với 12 triệu dòng mã bao gồm 3 triệu dòng mã XML, 2,8 triệu mã C, 2,1 triệu dòng Java và 1,75 triệu dòng C++.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 tzrong tương lai.•Được xây dựng trên nền tảng của mã nguồn mở.•Không chỉ là hệ điều hành cho các thiết bị di động mà còn là HĐH cho cả các thiết bị khác có sử dụng Internet.•Là HĐH dễ sử dụng và cho phép người dùng dễ dàng publish các ứng dụng.1.2.Đặc tính mở của android Android được xây dựng để cho phép các nhà phát triển tạo ra các ứng dụng di động hấp dẫn, tận dụng tất cả các tính năng của một chiếc điện thoại đã cung cấp. Android được xây dựng trên mã nguồn mở Linux Kernel. Hơn nữa, nó sử dụng một máy ảo tùy chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong môi trường di động. Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích và có thể sử dụng để xây dựng các ứng dụng phong phú. Ngoài ra, Android bao gồm một tập hợp đầy đủ công cụ đã được xây dựng công phu, với việc cung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào các ứng dụng.1.3.Kiến trúc của AndroidSơ đồ kiến trúc của hệ điều hành Android với năm lớp và bốn tầng cơ bản như sau: •Tầng Applications: Đây là tầng mà được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contact, brower, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Android đều được viết bằng Java.•Tầng Application Framework: Lớp Android Framework cung cấp các dịch vụ cấp độ cao hơn cho các ứng dụng dưới dạng các lớp 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 ứng dụng của họ.Android Framework bao gồm các dịch vụ chính sau:•Activitty Manager – Kiểm soát tất cả khía cạnh của vòng đời ứng dụng và ngăn xếp các Activity.•Content Providers – Cho phép các ứng dụng chia sẽ dữ liệu với các ứng dụng khác.•Resource Manager – Cung cấp quyền truy cập vào các tài nguyên như các chuỗi, màu sắc, các layout giao diện người dùng…•Notifications Manager – Cho phép các ứng dụng hiển thị cảnh báo và các thông báo cho người dùng.View System – Tập các thành phần giao diện (view) được sử dụng để tạo giao diện người dùng.•Tầng Libraries: Chứa các thư viện, API gần như là cốt lõi của Android, bao gồm bộ quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ họa phức tạp),…•Tầng Android Runtime: Chứa các thư viện lõi của Android và máy ảo Dalvik Virtual Machine (từ Android 4 trở lên chúng ta có thêm máy ảo ART).•Tầng Kernel: Là nhân lõi của hệ điều hành, chứa các tập lệnh, driver giao tiếp giữa phần cứng và phần mềm của Android.2.Ngôn ngữ lập trình và môi trường lập trình Android•Ngôn ngữ lập trình: Một trong những ngôn ngữ lập trình tiêu biểu nhất của lập trình android là Java. Nó là ngôn ngữ lập trình chính thức được sử dụng rộng rãi nhất trên thế giới có ước tính khoảng 9 triệu nhà phát triển. Java được thiết kế để tương thích với nhiều môi trường phát triển vì thế mà nó linh hoạt hơn so với ngôn ngữ lập trình hướng đối tượng C++ và ngôn ngữ lập trình C. Bên cạnh đó, Java còn có hiệu suất cao nhờ vào trình thu gom rác, trình giải phóng bộ nhớ với các đối tượng không được dùng đến. Ngoài ra, Java nâng cao còn có thể viết ra các chương trình thực thi nhiều các tác vụ cùng một lúc với tính năng đa luồng của mình, đặc biệt đó là ở trong lập trình game. Đặc biệt, ngôn ngữ lập trình Java còn hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như public key hoặc mã one way hashing… Bên cạnh ngoài ngôn ngữ Java, có thể kể đến một số ngôn ngữ lập trình android phổ biến hiện nay thường gặp như: C++, C, Kotlin, HTML5, CSS, JavaScript, Python, Lua,…•Môi trường lập trình Android: Môi trường lập trình (IDE) chính thức của Android là Eclipse (từ phiên bản 3.2) với sự hỗ trợ của plugin Android Development Tools (ADT) trước đây. Tuy nhiên, người lập trình có thể sử dụng bất kỳ 1 IDE hay trình soạn thảo văn bản nào để viết code Java và XML rồi biên dịch nên ứng dụng hoàn chỉnh bằng cách sử dụng dòng lệnh (command lines). Android Deverloper Tools Bundle (ADT) bao gồm:Eclipse + ADT plugin.Android SDK Tools.Android Platform Tools.Phiên bản hệ điều hành Android.Tập tin cài đặt hệ điều hành cho máy ảo. Ứng dụng Android được đóng gói thành các file .apk và đuợc lưu trong thư mục dataapp của hệ điều hành Android.Java Development Kit (JDK) 5.0.•Ứng dụng lập trình Android và các thành phần liên quan Ứng dụng lập trình Android là các ứng dụng chỉ có thể được viết bằng một vài ngôn ngữ đặc trưng, có thể kể đến như C++, C, Javacript, LUA, Python,…dành riêng cho nền tảng Android của thiết bị di động. Sau kh
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI -Khoa Điện Tử- BÁO CÁO BÀI TẬP LỚN Môn: Phát Triển Ứng Dụng Cho Thiết Bị Di Động Đề tài: Sử dụng cảm biến từ kế để dị tìm kim loại Giáo viên hướng dẫn: Nhóm thực hiện: Thành viên: Th.s Phạm Thị Quỳnh Trang Nhóm Năm 2019 Phí Phương Nam Đỗ Văn Lợi Nguyễn Trọng Sang Nguyễn Hữu Đức Đinh Văn Khoa Mục Lục Lời nói đầu Chương Tổng quan Tổng quan lập trình Android 1.1 Android gì? 1.2 Đặc tính mở android 1.3 Kiến trúc Android .5 Ngơn ngữ lập trình mơi trường lập trình Android Tìm hiểu cơng cụ lập trình Android Studio .8 3.1 Bộ phát triển ngơn ngữ Java : Java Development Kit (JDK) 3.2 Bộ Công cụ phát triển phần mềm : Software Development Kit (SDK): Chương Cảm biến mơ chương trình .10 Khái niệm cảm biến .10 Phân loại .11 Vai trò 12 Sensor Android Studio .12 4.1 Sensor SensorManager .12 4.2 Các loại Sensor thông dụng 13 4.3 Các bước kinh nghiệm làm việc với Sensor 14 Cảm biến từ kế 15 5.1 Từ kế 15 5.2 Phân loại 16 5.3 Cảm biến từ kế Android Studio .16 Giới thiệu chương trình .17 Chương trình .20 7.1 Các câu lệnh tạo giao diện .20 7.2 Chương trình 21 Tài liệu tham khảo ……………………… …………………… …24 Lời nói đầu Android hệ điều hành điện thoại di động (và số đầu phát HD, HD Player, TV) dựa tảng Linux kernel phần mềm mã nguồn mở Lập trình android lập trình ứng dụng di động phổ biến Android xây dựng phép nhà phát triển tạo ứng dụng di động hấp dẫn, tận dụng tất tính điện thoại cung cấp Android Studio phầm mềm bao gồm công cụ khác dùng để phát triển ứng dụng chạy thiết bị sử dụng hệ điều hành Android loại điện thoại smartphone, tablet Sau hoàn thành học phần Phát triển ứng dụng cho thiết bị di động, nhóm chúng em xin xây dựng chương trình ứng dụng Android điều khiển thiết bị thông qua WiFi Đề tài kết hợp thiết bị di động sử dụng tảng hệ điều hành Android từ kế, nhằm ứng dụng dị tìm kim loại Chương Tổng quan Tổng quan lập trình Android 1.1.Android gì? Android hệ điều hành điện thoại di động (và số đầu phát HD, HD Player, TV) dựa tảng Linux kernel phần mềm mã nguồn mở Lập trình android lập trình ứng dụng di động phổ biến Trước đây, Android phát triển công ty liên hợp Android (sau đó Google mua lại vào năm 2005) Android hệ điều hành mở mã nguồn với 12 triệu dịng mã bao gồm triệu dòng mã XML, 2,8 triệu mã C, 2,1 triệu dòng Java 1,75 triệu dòng C++ Các nhà phát triển viết ứng dụng cho Android dựa ngôn ngữ Java Sự mắt Android vào ngày tháng 11 năm 2007 gắn với thành lập 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 viễn thơng nhằm mục đính tạo nên chuẩn mở cho điện thoại di động tzrong tương lai Được xây dựng tảng mã nguồn mở Không hệ điều hành cho thiết bị di động mà HĐH cho thiết bị khác có sử dụng Internet Là HĐH dễ sử dụng cho phép người dùng dễ dàng publish ứng dụng 1.2.Đặc tính mở android Android xây dựng phép nhà phát triển tạo ứng dụng di động hấp dẫn, tận dụng tất tính điện thoại cung cấp Android xây dựng mã nguồn mở Linux Kernel Hơn nữa, nó sử dụng máy ảo tùy chỉnh thiết kế để tối ưu hóa nhớ tài nguyên phần cứng môi trường di động Android cung cấp truy cập đến loạt thư viện cơng cụ hữu ích có thể sử dụng để xây dựng ứng dụng phong phú Ngoài ra, Android bao gồm tập hợp đầy đủ công cụ xây dựng công phu, với việc cung cấp tảng phát triển, với suất cao nhìn sâu vào ứng dụng 1.3.Kiến trúc Android Sơ đồ kiến trúc hệ điều hành Android với năm lớp bốn tầng sau: Tầng Applications: Đây tầng mà tích hợp sẵn số ứng dụng cần thiết như: contact, brower, camera, Phone,… Tất ứng dụng chạy hệ điều hành Android viết Java Tầng Application Framework: Lớp Android Framework cung cấp dịch vụ cấp độ cao cho ứng dụng dạng lớp Java Các nhà phát triển ứng dụng phép sử dụng dịch vụ ứng dụng họ Android Framework bao gồm dịch vụ sau: Activitty Manager – Kiểm sốt tất khía cạnh vịng đời ứng dụng ngăn xếp Activity Content Providers – Cho phép ứng dụng chia liệu với ứng dụng khác Resource Manager – Cung cấp quyền truy cập vào tài nguyên chuỗi, màu sắc, layout giao diện người dùng… Notifications Manager – Cho phép ứng dụng hiển thị cảnh báo thông báo cho người dùng View System – Tập thành phần giao diện (view) sử dụng để tạo giao diện người dùng Tầng Libraries: Chứa thư viện, API gần cốt lõi Android, bao gồm quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ họa phức tạp), … Tầng Android Runtime: Chứa thư viện lõi Android máy ảo Dalvik Virtual Machine (từ Android trở lên có thêm máy ảo ART) Tầng Kernel: Là nhân lõi hệ điều hành, chứa tập lệnh, driver giao tiếp phần cứng phần mềm Android Ngơn ngữ lập trình mơi trường lập trình Android Ngơn ngữ lập trình: Một ngơn ngữ lập trình tiêu biểu lập trình android Java Nó ngơn ngữ lập trình thức sử dụng rộng rãi giới có ước tính khoảng triệu nhà phát triển Java thiết kế để tương thích với nhiều mơi trường phát triển mà nó linh hoạt so với ngơn ngữ lập trình hướng đối tượng C++ ngơn ngữ lập trình C Bên cạnh đó, Java cịn có hiệu suất cao nhờ vào trình thu gom rác, trình giải phóng nhớ với đối tượng không dùng đến Ngồi ra, Java nâng cao cịn có thể viết chương trình thực thi nhiều tác vụ lúc với tính đa luồng mình, đặc biệt đó lập trình game Đặc biệt, ngơn ngữ lập trình Java cịn hỗ trợ bảo mật tốt thuật toán mã hóa public key mã one way hashing… Bên cạnh ngôn ngữ Java, có thể kể đến số ngôn ngữ lập trình android phổ biến thường gặp như: C++, C#, Kotlin, HTML5, CSS, JavaScript, Python, Lua,… Mơi trường lập trình Android: Mơi trường lập trình (IDE) thức Android Eclipse (từ phiên 3.2) với hỗ trợ plugin Android Development Tools (ADT) trước Tuy nhiên, người lập trình có thể sử dụng IDE hay trình soạn thảo văn để viết code Java XML biên dịch nên ứng dụng hoàn chỉnh cách sử dụng dòng lệnh (command lines) Android Deverloper Tools Bundle (ADT) bao gồm: Eclipse + ADT plugin Android SDK Tools Android Platform Tools Phiên hệ điều hành Android Tập tin cài đặt hệ điều hành cho máy ảo Ứng dụng Android đóng gói thành file apk đuợc lưu thư mục /data/app hệ điều hành Android.Java Development Kit (JDK) 5.0 Ứng dụng lập trình Android thành phần liên quan Ứng dụng lập trình Android ứng dụng có thể viết vài ngôn ngữ đặc trưng, có thể kể đến C++, C#, Javacript, LUA, Python,…dành riêng cho tảng Android thiết bị di động Sau viết code xong chạy biên dịch chương trình, cơng cụ SDK Android biên dịch mã chương trình với tệp liệu tài nguyên nào—vào APK: gói Android, đó tệp lưu trữ có hậu tố apk Một tệp APK chứa tất nội dung ứng dụng Android tệp mà thiết bị dựa tảng Android sử dụng để cài đặt ứng dụng Các thành phần (component) tạo nên ứng dụng Android sau: Activity: ứng dụng Khi khởi động ứng dụng Android đó bao giờ có main Activity gọi, hiển thị hình giao diện ứng dụng cho phép người dùng tương tác Service: thành phần chạy ẩn Android Service sử dụng để update liệu, đưa cảnh báo (Notification) không bao giờ hiển thị cho người dùng thấy Content Provider: sử dụng để quản lý chia sẻ liệu ứng dụng Intent: tảng để truyền tải thông báo Intent sử dụng để gửi thông báo nhằm khởi tạo Activity hay Service để thực công việc mong muốn Broadcast Receiver: thành phần thu nhận Intent bên gửi tới Notification: đưa cảnh báo mà không làm cho Activity phải ngừng hoạt động Tìm hiểu cơng cụ lập trình Android Studio 3.1.Bộ phát triển ngôn Development Kit (JDK) ngữ Java : Java JDK viết tắt Java Development Kit phần mềm cung cấp môi trường phát triển ứng dụng viết ngôn ngữ Java JDK dùng để viết applet Java hay ứng dụng Java ứng dụng Android Bộ công cụ phát hành miễn phí gồm có trình biên dịch, trình thơng dịch, trình giúp sửa lỗi (debugger, trình chạy applet) tài liệu nghiên cứu Nó ba gói công nghệ cốt lõi sử dụng lập trình Java, với JVM (Máy ảo Java - Java Virtual Machine) JRE (Java Runtime Environment - Môi trường Java Runtime) sử dụng phổ biến lập trình Java Có thể hiểu JDK theo cách sau: Định nghĩa chuyên ngành: JDK hệ tiêu chuẩn việc triển khai tảng Java, bao gồm trình thơng dịch thư viện lớp Định nghĩa thông thường: JDK gói phần mềm bạn tải xuống để tạo ứng dụng dựa Java Trình biên dịch JDK & Java: Môi trường sử dụng để chạy Source code Java, JDK chứa trình biên dịch Java Trình biên dịch chương trình phần mềm có khả lấy tệp java dạng thô - văn thuần túy - hiển thị chúng thành tệp thực thi có đuôi Class 3.2.Bộ Công cụ phát triển phần mềm : Software Development Kit (SDK): SDK tập hợp công cụ hỗ trợ cho việc phát triển phần mềm thông qua tảng đó Hầu hết nhà phát triển ứng dụng cần dùng tới SDK để thêm vào tính nâng cao, hiển thị quảng cáo, thơng báo dạng đẩy (push notification) cho ứng dụng Chẳng hạn lập trình Android yêu cầu SDK cho Java, với ứng dụng iOS SDK cho Swift, cịn lập trình ứng dụng Windows yêu cầu có NET Framework SDK kèm với NET SDK có thể chứa API dạng thư viện để giao tiếp với ngôn ngữ đó để chứa hệ thống phần cứng phức tạp có thể giao tiếp với hệ thống nhúng Các cơng cụ phổ biến bao gồm tiện ích gỡ rối phần mềm (debugging), thường dạng môi trường phát triển tích hợp (IDE) SDK thường hay 10 Hầu hết thiết bị hỗ trợ Android có cảm biến tích hợp để đo chuyển động, định hướng điều kiện môi trường khác Các cảm biến có khả cung cấp liệu thô với độ xác độ xác cao hữu ích bạn muốn theo dõi chuyển động định vị thiết bị ba chiều bạn muốn theo dõi thay đổi môi trường xung quanh gần thiết bị Nền tảng Android hỗ trợ ba loại cảm biến: Cảm biến chuyển động: Những cảm biến đo lực gia tốc lực quay dọc theo ba trục Danh mục bao gồm gia tốc kế, cảm biến trọng lực, quay hồi chuyển cảm biến vectơ quay Cảm biến môi trường: Những cảm biến đo thông số môi trường khác nhau, chẳng hạn nhiệt độ áp suất khơng khí xung quanh, độ chiếu sáng độ ẩm Danh mục bao gồm áp kế, quang kế nhiệt kế Cảm biến vị trí: Những cảm biến đo vị trí vật lý thiết bị Danh mục bao gồm cảm biến định hướng từ kế Khung cảm biến Android cho phép bạn truy cập nhiều loại cảm biến Một số cảm biến dựa phần cứng số dựa phần mềm Cảm biến dựa phần cứng thành phần vật lý tích hợp thiết bị cầm tay máy tính bảng Họ lấy liệu cách đo trực tiếp đặc tính mơi trường cụ thể, chẳng hạn gia tốc, cường độ trường địa từ thay đổi góc Cảm biến dựa phần mềm thiết bị vật lý, chúng bắt chước cảm biến dựa phần cứng 4.1.Sensor SensorManager Sensor: chip cảm ứng nằm thiết bị cung cấp liệu mà nó đo cho hệ điều hành Trong Android sensor quản lý chung bơi SensorManager, dịch vụ hệ thống SensorManager sm= (SensorManager) getSystemService (SENSOR_SERVICE); 15 Thơng qua SensorManager lập trình viên có thể: Lấy danh sách sensor có hệ thống Lấy đối tượng để làm việc trực tiếp với sensor Đăng kí listener để xử lý kiện sensor báo Các Sensor Android OS hỗ trợ: TYPE_ACCELEROMETER: cảm biến gia tốc TYPE_AMBIENT_TEMPERATURE: cảm biến nhiệt độ môi trường TYPE_GRAVITY: cảm biến trọng lực TYPE_GYROSCOPE: cảm biến quay hồi chuyển TYPE_LIGHT: cảm biến ánh sáng TYPE_LINEAR_ACCELERATION: cảm biến gia tốc tuyến tính TYPE_MAGNETIC_FIELD: cảm biến từ tính TYPE_PRESSURE: cảm biến áp suất TYPE_PROXIMITY: cảm biến khoảng cách gần TYPE_RELATIVE_HUMIDITY: cảm biến độ ẩm TYPE_ROTATION_VECTOR: cảm biến xoay TYPE_GAME_ROTATION_VECTOR: cảm biến xoay 2D TYPE_SIGNIFICANT_MOTION: cảm biến chuyển động 4.2.Các loại Sensor thông dụng Cảm biến Android chia làm nhóm: Cảm biến chuyển động Cảm biến vị trí Cảm biến môi trường Mỗi loại Sensor có đặc điểm vật lý khác Một số Sensor loại Virtual (ảo), tức kết tính tốn nội suy từ nguồn khác Android SDK không có class định sẵn cho loại sensor mà có TYPE sensor, liệu sensor trả float (trường hợp cảm biến đầu - chẳng hạn đo ánh sáng) float[] (trường hợp cảm biến nhiều đầu ra) TYPE_AMBIENT_TEMPERATURE: cảm biến nhiệt độ, đơn vị đo độ C TYPE_LIGHT: cảm biến ánh sáng, đơn vị đo lx TYPE_PRESSURE: cảm biến áp suất khơng khí, đơn vị mbar TYPE_PROXIMITY:cảm biến khoảng cách đến đối tượng, đơn vị cm TYPE_RELATIVE_HUMIDITY: cảm biến độ ẩm, đơn vị đo % 16 TYPE_ACCELEROMETER/ TYPE_GRAVITY: cảm biến gia tốc/hấp dẫn 3D(x,y,z), đơn vị m/s2 TYPE_GYROSCOPE: cảm biến tốc độ quay 3D, đơn vị rad/s TYPE_MAGNETIC_FIELD: cảm biến lực từ 3D 4.3.Các bước kinh nghiệm làm việc với Sensor Các bước làm việc với Sensor Bước 1: lấy SensorManager từ dịch vụ hệ thống, thông qua getSystemService(Context.SENSOR_SERVICE) Bước 2: Từ SesorManager lấy đối tượng Sensor điều khiển cảm biến cần sử dụng Sensor=sensorService.getDefaultSensor(TYPE); Bước 3: Cài đặt nghe (listener) phù hợp để xử lý số liệu cảm biến trả Bước 4: Tắt Sensor tình khơng cần thiết để tránh thiết bị tiêu tốn lượng Bước 5: Xử lý lỗi thay đổi độ nhạy thiết bị Các kinh nghiệm làm việc với Sensor Nhất thiết phải giải phóng sensor không cần thiết, không ứng dụng hao pin Hệ thống không tự động tắt sensor kể tắt hình Chú ý: Khi làm việc với thơng số 3D: chiều có thể bị hốn đổi vị trí người sử dụng đặt thiết bị theo chiều âm (ví dụ: máy bị lật úp) Nên kiểm thử thiết bị thật hiệu chỉnh độ nhạy dần dần Kết hợp nhiều sensor để thiết bị “nhạy cảm” 5.Cảm biến từ kế 5.1.Từ kế Từ kế thiết bị có biện pháp từ tính -the hướng, sức mạnh, hay thay đổi tương đối từ trường địa điểm cụ thể Phép đo từ hóa vật liệu từ tính (như ferromagnet ) ví dụ Một la bàn thiết bị vậy, biện pháp đạo từ trường xung quanh, trường hợp này, từ trường Trái đất Từ kế đầu tiên có khả đo cường độ từ tuyệt đối phát minh Carl Friedrich Gauss vào năm 1833 phát 17 triển đáng ý kỷ 19 bao gồm hiệu ứng Hall, sử dụng rộng rãi Từ kế sử dụng rộng rãi để đo từ trường Trái đất khảo sát địa vật lý để phát dị thường từ tính thuộc nhiều loại khác Trong thái độ hệ thống tham chiếu tiêu đề máy bay, chúng thường sử dụng làm tài liệu tham khảo tiêu đề Từ kế sử dụng quân đội để phát tàu ngầm Do đó, số quốc gia Hoa Kỳ, Canada Úc, phân loại từ kế nhạy cảm cơng nghệ qn kiểm sốt phân phối họ Từ kế có thể sử dụng làm máy dò kim loại: chúng có thể phát kim loại từ tính ( kim loại), có thể phát kim loại độ sâu lớn nhiều so với máy dị kim loại thơng thường; chúng có khả phát vật thể lớn, chẳng hạn ô tô, độ cao hàng chục mét, phạm vi máy dò kim loại mét 5.2.Phân loại Phân loại theo cơng dụng: Từ kế phịng thí nghiệm có độ nhạy, độ xác cao, đo trường lớn hay cực nhỏ tất nhiên có thể cồng kềnh Chúng phục vụ đo mẫu vật hay khảo sát trình vật lý, hóa học, sinh học, quan hệ với từ trường Từ kế di động có kích thước, độ nhạy, dải đo thích hợp để đo từ trường Trái Đất hay vũ trụ Phân loại theo đo thành phần trường: Từ kế vơ hướng đo giá trị trường tồn phần T Từ kế vector đo giá trị thành phần trường dọc theo phương đó, chẳng hạn phương thẳng đứng Z, phương nằm ngang H, hay nằm ngang theo kinh vĩ tuyến X, Y Phân loại theo cách thức đo trường: Từ kế đo tuyệt đối (Absolute) cho giá trị thật Từ kế đo tương đối (Relative) cho số đọc biểu kiến phải tính tốn theo tham số kiểm chuẩn để thu giá trị trường 5.3.Cảm biến từ kế Android Studio public class SensorActivityextends Activityimplements SensorEventListener 18 { final SensorManager sm ; final Sensor mf; public SensorActivity() { sm = (SensorManager) getSystemService(SENSOR_SERVICE); mf = sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD ); } protected voidonResume() { super.onResume(); sm.registerListener(this, mf,SensorManager.SENSOR_DELAY_NORMAL); } protected void onPause() { super.onPause(); sm.unregisterListener(this); } // độ xác sensor thay đổi public void onAccuracyChanged(Sensors, intaccuracy) { } // thông số sensor cập nhật public void onSensorChanged(SensorEventevent) { }} 6.Giới thiệu chương trình Chương trình chia làm phần: Phần 1: Activity1 - Mở đầu ứng dụng 19 Phần 2: Activity2 - Hướng dẫn sử dụng ứng dụng ý với nội dung nhập từ Main2 Phần 3: Activity3 – Chương trình sử dụng cảm biến 20 7.Chương trình 7.1.Các câu lệnh tạo giao diện Thiết lập câu lệnh mở chương trình tồn hình Để làm ẩn ActionBar, ta gọi Và để ẩn ActionBar này, ta cần gọi Tạo hiệu ứng Animation rotate cho ImageView với số lần lặp vô hạn 500 millis: Ở nút button, tạo thư mục xml drawable, ta chia làm nút nhấn có trạng thái: nhấn khơng nhấn Nhấn với nút hình chữ nhật thiết lập thuộc tính stroke (viền nút nhấn), corners (bo góc) gradient (màu sắc hỗn hợp) 21 Không nhấn với nút hình chữ nhật thuộc tính giống trạng thái nhấn, có thêm solid (màu nền) Sử dụng số hiệu ứng tạo Animation cho Intent, ta sử dụng số thư viện có sẵn GitHub, Cop Paste vào phần allprojects{} Project, tiếp đến Paste đường dẫn vào dependencies Module Để thực hiệu ứng này, Button activity chuyển activity, khai báo thêm thứ tự chuyển Trong main thực chuyển cách: 7.2.Chương trình Chương trình có activity.xml tương ứng với MainActivity.java Ở Main1 thực với nút nhấn ImageView, tạo âm cho nút nhấn cách gọi MediaPlayer thêm hiệu ứng chuyển Intent : 22 Khi nhấn Button để chuyển chuyển sang Activity2, phần Main2 với nội dung dạng chuỗi String Tại ta hiển thị chuỗi khai báo cho TextView Và sử dụng Button với nút chuyển Activity1 có hiệu ứng chuyển “right-to-left” (phải sang trái), nút chuyển sang Activity3 với Main3 hiệu ứng chuyển “left-to-right” (trái sang phải) 23 Chương trình cảm biến từ kế thực Activity 3, ta gọi cảm biến từ hệ thống sử dụng TextView để thị giá trị mà cảm biến đo Hàm onResume gọi Activity tương tác với người dùng, hàm onPause gọi Activity không hiển thị cho người dùng 24 Tiếp đến gọi đến hàm onSensorChanged thông số sensor cập nhật với giá trị x,y,z Tính tốn giá trị từ cảm biến hiển thị TextView Tại ta cho ProgressBar hiển thị tiến trình mà cảm biến đạt trị thời, thời chia khoảng giá trị để thị màu thể mức độ cảm biến 25 Tiếp đến, sử dụng MediaPlayer để phát âm tín hiệu tạo hiệu ứng rung Vibrator cảm biến đạt đến giá trị đó Gọi thêm chức cho ImageView để hiển thị trạng thái Bật/Tắt âm 26 7.3.Kết đánh giá 27 Mức độ từ trường tự nhiên 49 microtesla Mức độ cảm biến hoạt động theo màu: xanh, vàng, cam, đỏ Có số lưu ý: Cảm biến từ trường bị ảnh hưởng thiết bị điện tử song điện từ Nếu ứng dụng hoạt động không đúng, nó có thể cảm biến điện thoại hỏng cảm biến không tồn Độ xác phụ thuộc hồn tồn phụ thuộc vào cảm biến điện thoại di động bạn Máy dị tìm kim loại khơng thể phát vàng, bạc đồng xu làm đồng, chugs kim loại màu không có từ trường 28 TÀI LIỆU THAM KHẢO [1] Internet of Thing [2].Các tài liệu điều khiển thiết bị qua Esp8266 [3] Ngồi cịn tham khảo tài liệu khác 29 ... dung ứng dụng Android tệp mà thiết bị dựa tảng Android sử dụng để cài đặt ứng dụng Các thành phần (component) tạo nên ứng dụng Android sau: Activity: ứng dụng Khi khởi động ứng dụng Android. .. nhà phát triển tạo ứng dụng di động hấp dẫn, tận dụng tất tính điện thoại cung cấp Android Studio phầm mềm bao gồm công cụ khác dùng để phát triển ứng dụng chạy thiết bị sử dụng hệ điều hành Android. .. Tầng Application Framework: Lớp Android Framework cung cấp dịch vụ cấp độ cao cho ứng dụng dạng lớp Java Các nhà phát triển ứng dụng phép sử dụng dịch vụ ứng dụng họ Android Framework bao gồm dịch