Xác định hướng Sử dụng Phản đối Orientation Sensor
khung Android cũng cung cấp một cảm biến định hướng ảo. Các cảm biến định hướng ảo có sẵn cho lý do di sản, bị phản đối ủng hộ các kỹ thuật được mô tả trong phần trước. Nó đã bị phản đối bởi vì nó không cho phép bạn thay đổi các hệ quy chiếu được sử dụng khi tính định hướng hiện tại. Để sử dụng các cảm biến định hướng kế thừa, tạo và đăng ký một cảm biến sự kiện, quy định cụ thể các cảm biến định hướng mặc định, như thể hiện trong Liệt kê 12-8. khi hướng thiết bị thay đổi, phương pháp onSensorChanged trong việc thực hiện SensorEventListener của bạn là bắn. Các tham số SensorEvent bao gồm một mảng các giá trị float cung cấp định hướng của thiết bị cùng ba trục. Việc gia hạn sau đây để Liệt kê 12-8 cho thấy làm thế nào để con¬struct Sensor Event Listener của bạn: Các phần tử đầu tiên của mảng giá trị là góc phương vị (nhóm), sân thứ hai, và cuộn thứ ba. Tạo một Compass và nhân tạo Horizon Trong Chương 11, "nâng cao kinh nghiệm người dùng," bạn cải thiện CompassView để hiển thị các sân thiết bị, cuộn, và nhóm. Trong ví dụ này, bạn cuối cùng sẽ kết nối Compass View của bạn với các cảm biến phần cứng để hiển thị các hướng thiết bị. 1. Mở dự án Compass bạn cuối cùng đã thay đổi trong chương 11 và mở CompassActivity. Quản lý sử dụng cảm biến để lắng nghe cho thay đổi định hướng sử dụng các lĩnh vực và acceler¬ometer cảm biến từ tính. Bắt đầu bằng cách thêm biến lĩnh vực địa phương để lưu trữ các từ trường và tăng tốc phần cứng-erometer giá trị cuối cùng, cũng như các biến để lưu trữ các CompassView, SensorManager, và các giá trị xoay màn hình hiện tại: phao tin [] aValues = new float [3]; phao tin [] mValues = new float [3]; tin CompassView compassView; tin SensorManager sensorManager; int xoay nhân; 2. Tạo một phương thức updateOrientation mới mà sử dụng tiêu đề, sân, và các giá trị cuộn mới để cập nhật CompassView: private void updateOrientation (float [giá trị]) {if (compassView = null) {
đang được dịch, vui lòng đợi..
