10.12 Sensor Special Topic (4) —— Understanding Other Sensors
Classification Android Basic Beginner Tutorial
Introduction:
At the end of the previous section, it was mentioned that the sensor part is not something the author has extensively experimented with. This section will briefly introduce the remaining commonly used sensors as a form of popular science. Detailed research can be conducted when needed in the future.
1. Magnetic Field Sensor (Magnetic field sensor)
Function: This sensor is mainly used to read changes in the magnetic field near the phone.
Values Collected: There are three values, namely: magnetic field values along the X, Y, and Z axes.
Unit of Measurement: µT, microtesla
Sensor Retrieval: Sensor.TYPEMAGNETICFIELD
2. Proximity Sensor (Proximity sensor)
Function: Used to sense the distance between the phone and the human body. The most common use is during phone calls, where the screen dims when the face is close to the screen, and lights up again when the face is a certain distance away. This prevents accidental presses of the hang-up button during calls. This sensor can be used to create interactive apps.
Values Collected: One value, the distance between the object and the device.
Unit of Measurement: cm, centimeter
Sensor Retrieval: Sensor.TYPE_PROXIMITY
Additional Notes:
- There are two types of proximity sensors: one that directly provides distance, and another that provides proximity or distance only. It returns two values, 0.0 or the maximum value. You can determine which type by comparing the resolution and the maximum value.
- Call
sensor.getResolution()
to get the resolution andgetMaximumRange()
to get the maximum value.
3. Light Sensor (Light sensor)
Function: Used to read the illuminance value, i.e., the intensity of light.
Values Collected: One value, the brightness value.
Unit of Measurement: lux, 1 lumen per square meter, which is 1 lux, with a maximum value of 120,000.0f. Android categorizes light intensity into different levels, which can be checked in the SensorManager class.
Sensor Retrieval: Sensor.TYPE_LIGHT
4. Pressure Sensor (Pressure sensor)
Function: Used to measure atmospheric pressure, commonly used to measure altitude.
Values Collected: One value, the atmospheric pressure value.
Unit of Measurement: hPa, hectopascal
Sensor Retrieval: Sensor.TYPE_PRESSURE
5. Temperature Sensor (Temperature sensor)
Function: Measures the temperature inside the phone or the external environment.
Values Collected: One value, the temperature value.
Unit of Measurement: °C, Celsius
Sensor Retrieval: Sensor.TYPETEMPERATURE (internal)/TYPEAMBIENT_TEMPERATURE (external)
6. Sensor Simulation Tool —— SensorSimulator
As the title suggests, when our real device lacks a certain sensor but we need to develop for it, we can use this tool. For specific usage, see the following article: Sensor Simulation Tool on Android Devices: SensorSimulator
Summary:
>
This section should probably be the most redundant one in the basic beginner series. Originally, it was not intended to be written, but it's here anyway. Just be aware of the above information. As always, detailed research can be conducted when needed in the future. Thank you.
-1.0 Android Basic Beginner Tutorial
-1.0.1 2015 Latest Android Basic Beginner Tutorial Table of Contents
-1.1 Background and System Architecture Analysis
-1.2 Development Environment Setup
-1.2.1 Developing Android Apps with Eclipse + ADT + SDK
-1.2.2 Developing Android Apps with Android Studio
-1.3 Solving SDK Update Issues
-1.4 Genymotion Emulator Installation
-1.5.1 Git Tutorial: Basic Operations on Local Repository
-1.5.2 Git: Setting Up a Remote Repository on GitHub
-1.6 How to Use the 9-Patch Image
-1.7 Interface Prototype Design
-1.8 Project Source Analysis (Various Files, Resource Access)
-1.9 Signing and Packaging Android Applications
-1.11 Decompiling APK to Retrieve Code & Resources
-2.1 Concepts of View and ViewGroup
-2.2.1 LinearLayout (Linear Layout)
-2.2.2 RelativeLayout (Relative Layout)
-2.2.3 TableLayout (Table Layout)
-2.2.4 FrameLayout (Frame Layout)
-2.2.5 GridLayout (Grid Layout)
-2.2.6 AbsoluteLayout (Absolute Layout)
-2.3.1 Detailed Explanation of TextView (Text Box)
-2.3.2 Detailed Explanation of EditText (Input Box)
-2.3.5.RadioButton (Radio Button) & Checkbox (Check Box)
-2.3.6 ToggleButton and Switch
-2.3.7 ProgressBar (Progress Bar)
-2.3.9 RatingBar (Star Rating Bar)
-2.4.1 ScrollView (Scroll Bar)
-2.4.2 Date & Time Components (Part 1)
-2.4.3 Date & Time Components (Part 2)
-2.4.5 Simple Usage of ListView
-2.4.6 Optimization of BaseAdapter
-2.4.7 Focus Issues with ListView
-2.4.8 Solving Checkbox Misalignment in ListView
-2.4.9 Data Update Issues in ListView
-2.5.0 Building a Reusable Custom BaseAdapter
-2.5.1 Implementing Multiple Item Layouts in ListView
-2.5.2 Basic Usage of GridView (Grid View)
-2.5.3 Basic Usage of Spinner (List Option Box)
-2.5.4 Basic Usage of AutoCompleteTextView (Auto-Complete Text Box)
-2.5.5 Basic Usage of ExpandableListView (Collapsible List)
-2.5.6 Basic Usage of ViewFlipper (Flip View)
-2.5.8 Detailed Explanation of Notification (Status Bar Notification)
-2.5.9 Detailed Explanation of AlertDialog (Dialog Box)
-2.6.0 Basic Usage of Other Common Dialogs
-2.6.1 Basic Usage of PopupWindow (Floating Box)
-2.6.3 Simple Usage of ViewPager
-2.6.4 Simple Usage of DrawerLayout (Official Side Menu)
- 3.1.1 Event Handling Mechanism Based on Listening
- 3.2 Event Handling Mechanism Based on Callback
- 3.3 Analysis of Handler Message Passing Mechanism
- 3.4 TouchListener vs OnTouchEvent + Multi-touch
- 3.5 Listening for Content Changes in EditText
- 3.6 Responding to System Setting Events (Configuration Class)
- 3.7 AsyncTask Asynchronous Task
- 3.8 Gestures
- 4.1.1 Activity Beginner
- 4.1.2 Activity Intermediate
- 4.1.3 Activity Advanced
- 4.2.1 Service Beginner
- 4.2.2 Service Intermediate
- 4.2.3 Service Advanced
- 4.3.1 BroadcastReceiver Beginner
- 4.3.2 BroadcastReceiver Intermediate
- 4.4.1 ContentProvider Beginner
- 4.4.2 ContentProvider Intermediate - Document Provider
- 4.5.1 Basic Usage of Intent
- 4.5.2 Passing Complex Data with Intent
- 5.1 Basic Overview of Fragment
- 5.2.1 Fragment Example Analysis - Bottom Navigation Bar Implementation (Method 1)
- 5.2.2 Fragment Example Analysis - Bottom Navigation Bar Implementation (Method 2)
- 5.2.3 Fragment Example Analysis - Bottom Navigation Bar Implementation (Method 3)
- 5.2.4 Fragment Example Analysis - Bottom Navigation Bar + ViewPager Swipe to Switch Pages
- 5.2.5 Fragment Example Analysis - Simple Implementation of News (Shopping) App List Fragment
- 6.1 Data Storage and Access - File Storage and Reading
- 6.2 Data Storage and Access - SharedPreferences for Saving User Preferences
- 6.3.1 Data Storage and Access - Introduction to SQLite Database
- 6.3.2 Data Storage and Access - Further Exploration of SQLite Database
- 7.1.1 Android Network Programming Essentials and HTTP Protocol Study
- 7.1.2 Study of Android HTTP Request Headers and Response Headers
- 7.1.3 Android HTTP Request Method: HttpURLConnection
- 7.1.4 Android HTTP Request Method: HttpClient
- 7.2.1 Android XML Data Parsing
- 7.2.2 Android JSON Data Parsing
- 7.3.1 Android File Upload
- 7.3.2 Android File Download (1)
- 7.3.3 Android File Download (2)
- 7.4 Android Calling WebService
- 7.5.1 Basic Usage of WebView (Web View)
- 7.5.2 Basic Interaction Between WebView and JavaScript
- 7.5.3 Considerations for WebView After Android 4.4
- 7.5.4 WebView File Download
- 7.5.5 WebView Cache Issues
- 7.5.6 WebView Handling Error Code Information from Web Pages
- 7.6.1 Network Basics Preparation for Socket Study
- 7.6.2 TCP Protocol-Based Socket Communication (1)
- 7.6.3 TCP Protocol-Based Socket Communication (2)
- 7.6.4 UDP Protocol-Based Socket Communication
- 8.1.1 Summary of 13 Drawable Types in Android Part 1
- 8.1.2 Summary of 13 Drawable Types in Android Part 2
- 8.1.3 Summary of 13 Drawable Types in Android Part 3
- 8.2.1 Comprehensive Analysis of Bitmap (Bitmap) Part 1
- 8.2.2 OOM Issues Caused by Bitmap
- 8.3.1 Detailed Explanation of Three Drawing Tool Classes
- 8.3.2 Practical Examples of Drawing Classes
- 8.3.3 Paint API - MaskFilter (Mask)
- 8.3.4 Paint API - Xfermode and PorterDuff Detailed Explanation (Part 1)
- 8.3.5 Paint API - Xfermode and PorterDuff Detailed Explanation (Part 2)
- 8.3.6 Paint API - Xfermode and PorterDuff Detailed Explanation (Part 3)
- 8.3.7 Paint API - Xfermode and PorterDuff Detailed Explanation (Part 4)
- 8.3.8 Paint API - Xfermode and PorterDuff Detailed Explanation (Part 5)
- 8.3.9 Paint API - ColorFilter (Color Filter) (1/3)
- 8.3.10 Paint API - ColorFilter (Color Filter) (2/3)
- 8.3.11 Paint API - ColorFilter (Color Filter) (3/3)
- 8.3.12 Paint API - PathEffect (Path Effect)
- 8.3.13 Paint API - Shader (Image Rendering)
- 8.3.14 Paint Enum/Constant Values and ShadowLayer Shadow Effect
- 8.3.15 Paint API - Typeface (Font Style)
- 8.3.16 Canvas API Detailed Explanation (Part 1)
- 8.3.17 Canvas API Detailed Explanation (Part 2) Clipping Methods Collection
- 8.3.18 Canvas API Detailed Explanation (Part 3) Matrix and drawBitmapMesh
- 8.4.1 Frame Animation in Android Animation Collection
- 8.4.2 Android Animation Collection - Tween Animation
- 8.4.3 Android Animation Collection - Property Animation - First Encounter
- 8.4.4 Android Animation Collection - Property Animation - Reencounter
- 9.1 Playing Sound Effects with SoundPool (Duang~)
- 9.2 MediaPlayer for Audio and Video Playback
- 9.3 Taking Photos with Camera
- 9.4 Recording Audio with MediaRecord
- 10.1 TelephonyManager (Phone Manager)
- 10.2 SmsManager (SMS Manager)
- 10.3 AudioManager (Audio Manager)
- 10.4 Vibrator (Vibrator)
- 10.5 AlarmManager (Alarm Service)
- 10.6 PowerManager (Power Service)
- 10.7 WindowManager (Window Management Service)
- 10.8 LayoutInflater (Layout Service)
- 10.9 WallpaperManager (Wallpaper Manager)
- 10.10 Sensor Series (1) - Introduction
- 10.11 Sensor Series (2) - Orientation Sensor
- 10.12 Sensor Series (3) - Accelerometer/Gyroscope Sensor
- 10.12 Sensor Series (4) - Understanding Other Sensors
- 10.14 Android GPS Primer
- 11.0《2015 Latest Android Basic Beginner's Tutorial》Completion Celebration~
- 12.1 Android Practice: DrySister Look at Girls App (Version 1) - Project Setup and Simple Implementation
- 12.2 DrySister Look at Girls App (Version 1) - 2. Parsing Backend Data
- 12.3 DrySister Look at Girls App (Version 1) - 3. Image Loading Optimization (Writing a Small Image Cache Framework)
- 12.4 DrySister Look at Girls App (Version 1) - 4. Adding Data Caching (Introducing SQLite)
- 12.5 DrySister Look at Girls App (Version 1) - 5. Code Review, Adjustment, and Logging Class Writing
- 12.6 DrySister Look at Girls App (Version 1) - 6. Icon Creation, Obfuscation, Signing and Packaging, APK Slimming, App Release