当前位置: 首页 > news >正文

达州北京网站建设手机价格网站建设

达州北京网站建设,手机价格网站建设,成熟短视频源码大全,利用小米路由器mini做网站Android 中主要的传感器有以下几种 TYPE_ACCELEROMETER 加速度传感器又叫 G-sensor#xff0c;该数值包含地心引力的影响#xff0c;单位是 m/s 测量应用于设备 x 、y、z 轴上的加速度。 将手机平放在桌面上#xff0c;x 轴默认为0#xff0c;y 轴默认0#xff0c;z 轴默…Android 中主要的传感器有以下几种 TYPE_ACCELEROMETER 加速度传感器又叫 G-sensor该数值包含地心引力的影响单位是 m/s 测量应用于设备 x 、y、z 轴上的加速度。 将手机平放在桌面上x 轴默认为0y 轴默认0z 轴默认9.81。 将手机朝下放在桌面上z 轴为-9.81。 将手机向左倾斜x 轴为正值。 将手机向右倾斜x 轴为负值。 将手机向上倾斜y 轴为负值。 将手机向下倾斜y 轴为正值。 TYPE_AMBIENT_TEMPERATURE 温度传感器单位是 ℃返回当前的温度。 TYPE_GAME_ROTATION_VECTOR 用来探测运动而不必受到电磁干扰的影响因为它并不依赖于磁北极。 TYPE_GEOMAGNETIC_ROTATION_VECTOR 地磁旋转矢量传感器提供手机的旋转矢量当手机处于休眠状态时仍可以记录设备的方位。 TYPE_GRAVITY 重力传感器简称 GV-sensor单位是 $m/s^2%测量应用于设备X、Y、Z轴上的重力。在地球上重力数值为9.8 TYPE_GYROSCOPE 陀螺仪传感器叫做Gyro-sensor返回x、y、z三轴的角加速度数据。单位是 radians/second。 TYPE_GYROSCOPE_UNCALIBRATED 未校准陀螺仪传感器提供原始的、未校准、补偿的陀螺仪数据用于后期处理和融合定位数据。 TYPE_LIGHT 光线感应传感器检测实时的光线强度光强单位是lux其物理意义是照射到单位面积上的光通量。 TYPE_LINEAR_ACCELERATION 线性加速度传感器简称LA-sensor。线性加速度传感器是加速度传感器减去重力影响获取的数据。单位是 m/s2。 TYPE_MAGNETIC_FIELD 磁力传感器简称为M-sensor返回 x、y、z 三轴的环境磁场数据。该数值的单位是微特斯拉micro-Tesla用uT表示。单位也可以是高斯Gauss1Tesla10000Gauss。硬件上一般没有独立的磁力传感器磁力数据由电子罗盘传感器提供E-compass。电子罗盘传感器同时提供方向传感器数据。 TYPE_MAGNETIC_FIELD_UNCALIBRATED 未校准磁力传感器提供原始的、未校准的磁场数据。 TYPE_ORIENTATION 方向传感器简称为O-sensor返回三轴的角度数据方向数据的单位是角度。为了得到精确的角度数据E-compass 需要获取 G-sensor 的数据经过计算生产 O-sensor 数据否则只能获取水平方向的角度。方向传感器提供三个数据分别为azimuth、pitch和roll azimuth 方位返回水平时磁北极和 Y 轴的夹角范围为0°至360°。0°为北90°为东180°为南270°为西。 pitch x 轴和水平面的夹角范围为-180°至180°。当 z 轴向 y 轴转动时角度为正值。 roll y 轴和水平面的夹角由于历史原因范围为-90°至90°。当 x 轴向 z 轴移动时角度为正值。 TYPE_PRESSURE 压力传感器单位是hPa(百帕斯卡)返回当前环境下的压强。 TYPE_PROXIMITY 接近传感器检测物体与手机的距离单位是厘米。一些接近传感器只能返回远和近两个状态因此接近传感器将最大距离返回远状态小于最大距离返回近状态。 TYPE_RELATIVE_HUMIDITY 湿度传感器单位是 %来测量周围环境的相对湿度。 TYPE_ROTATION_VECTOR 旋转矢量传感器简称RV-sensor。旋转矢量代表设备的方向是一个将坐标轴和角度混合计算得到的数据。RV-sensor输出三个数据 xsin(theta/2) ysin(theta/2) z*sin(theta/2) sin(theta/2)是 RV 的数量级。RV 的方向与轴旋转的方向相同。RV 的三个数值与cos(theta/2)组成一个四元组。 TYPE_SIGNIFICANT_MOTION 特殊动作触发传感器。 TYPE_STEP_COUNTER 计步传感器用于记录激活后的步伐数。 TYPE_STEP_DETECTOR 步行检测传感器用户每走一步就触发一次事件。 TYPE_TEMPERATURE 温度传感器目前已被TYPE_AMBIENT_TEMPERATURE替代。 前言 Android系统提供了对传感器的支持如果手机的硬件提供了这些传感器的话那么我们就可以通过代码获取手机外部的状态。比如说手机的摆放状态、外界的磁场、温度和压力等等。 对于我们开发者来说开发传感器十分简单。只需要注册监听器接收回调的数据就行了下面来详细介绍下各传感器的开发。 使用 1、 获取传感器管理对象 SensorManager mSensorManager (SensorManager) getSystemService(Context.SENSOR_SERVICE); 2、获取传感器的类型(TYPE_ACCELEROMETER:加速度传感器) mSensor mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 这里我们除了可以获取加速度传感器之外还可以获取其他类型的传感器如 Sensor.TYPE_ORIENTATION方向传感器。Sensor.TYPE_GYROSCOPE陀螺仪传感器。Sensor.TYPE_MAGNETIC_FIELD磁场传感器。Sensor.TYPE_GRAVITY重力传感器。Sensor.TYPE_LINEAR_ACCELERATION线性加速度传感器。Sensor.TYPE_AMBIENT_TEMPERATURE温度传感器。Sensor.TYPE_LIGHT光传感器。Sensor.TYPE_PRESSURE压力传感器。 3、在onResume()方法中监听传感器传回的数据 Override protected void onResume() {super.onResume();// 为加速度传感器注册监听器mSensorManager.registerListener(new SensorEventListener() {// 当传感器的值改变的时候回调该方法Overridepublic void onSensorChanged(SensorEvent event) {}// 当传感器精度发生改变时回调该方法Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {}}, mSensor, SensorManager.SENSOR_DELAY_GAME); }其中registerListener(SensorEventListener listener, Sensor sensor,int samplingPeriodUs)的三个参数说明如下 listener监听传感器时间的监听器该监听器需要实现SensorEventListener接口。 sensor传感器对象。 samplingPeriodUs指定获取传感器频率一共有如下几种 SensorManager.SENSOR_DELAY_FASTEST最快延迟最小同时也最消耗资源一般只有特别依赖传感器的应用使用该频率否则不推荐。SensorManager.SENSOR_DELAY_GAME适合游戏的频率一般有实时性要求的应用适合使用这种频率。SensorManager.SENSOR_DELAY_NORMAL正常频率一般对实时性要求不高的应用适合使用这种频率。SensorManager.SENSOR_DELAY_UI适合普通应用的频率这种模式比较省电而且系统开销小但延迟大因此只适合普通小程序使用。 4、并在onStop()方法中取消注册 Override protected void onStop() { super.onStop(); // 取消监听 mSensorManager.unregisterListener(this); } 传感器原理说明 方向传感器 方向传感器用于感应手机的摆放位置它给我们返回了三个角度这三个角度可以确定手机的摆放状态。 第一个角度表示手机顶部朝向与正北方的夹角。当手机绕着Z轴旋转时该角度值发生改变。比如当该角度为0度时表明手机顶部朝向正北该角度为90度时表明手机顶部朝向正东该角度为180度时表明手机朝向正南该角度为270度时表明手机顶部朝向正西。第二个角度表示手机顶部或尾部翘起的高度。当手机绕着X轴倾斜时该角度值发生变化该角度的取值范围是-180~180度。假设手机屏幕朝上水平放在桌子上如果桌子是完全水平的该角度值应该是0度。假如从手机顶部开始抬起直到将手机沿X轴旋转180度(屏幕向下水平放在桌子上)在这个旋转的过程中该角度值会从0度变化到-180度。也就是说从手机顶部抬起时该角度的值会逐渐减少直到等于-180度如果从手机底部开始抬起直到将手机沿X轴旋转180度(屏幕向下水平放在桌子上)该角度的值会从0度变化到180度也就是说从手机底部抬起时该角度的值会逐渐增大直到等于180度。第三个角度表示手机左侧或右侧翘起的角度。当手机绕着Y轴倾斜时该角度值发生改变。该角度的取值范围是-90~90度。假设将手机屏幕朝上水平放在桌面上如果桌面是完全水平的该角度应该为0度。如果将手机从左侧开始慢慢抬起知道将手机沿着Y轴旋转90度(手机与桌面垂直)在这个旋转的过程中该角度值会从0度变化到-90度。也就是说从手机左侧开始抬起时该角度的值会逐渐的减少知道等于-90度。如果从手机的右侧抬起则刚好相反会从0度变化直到90度。 通过在应用程序中使用方向传感器可以实现如地图导航、水平仪、指南针等应用。 陀螺仪传感器 陀螺仪传感器用于感应手机的旋转速度。陀螺仪传感器给我们返回了当前设备的X、Y、Z三个坐标轴坐标系统与加速度传感器一模一样的旋转速度。旋转速度的单位是弧度/秒旋转速度为 正值代表逆时针旋转负值代表顺时针旋转。关于返回的三个角速度说明如下第一个值代表该设备绕X轴旋转的角速度。第二个值代表该设备绕Y轴旋转的角速度。第三个值代表该设备绕Z轴旋转的角速度。 磁场传感器 磁场感应器主要读取设备周围的磁场强度。即便是设备周围没有任何直接的磁场设备也会始终处于地球的磁场中除非你不在地球。。随着手机设备摆放状态的改变周围磁场在手机的X、Y、Z方向上的影响也会发生改变。磁场传感器会返回三个数据分别代表周围磁场分解到X、Y、Z三个方向的磁场分量磁场数据的单位是微特斯拉。 重力传感器 重力传感器会返回一个三维向量这个三维向量可显示重力的方向和强度。重力传感器的坐标系统和加速度传感器的坐标系统相同。 线性加速度传感器 线性加速度传感器返回一个三维向量显示设备在各个方向的加速度不包含重力加速度。线性加速度传感器的坐标系统和加速度传感器的坐标系统相同。 线性加速度传感器、重力传感器、加速度传感器这三者输出值的关系如下 加速度传感器 重力传感器  线性加速度传感器。 温度传感器 温度传感器用于获取设备所处环境的温度。温度传感器会返回一个数据代表手机设备周围的温度单位是摄氏度。 光传感器 光传感器用于获取设备周围光的强度。光传感器会返回一个数据代表手机周围光的强度单位是勒克斯。 压力传感器 压力传感器用于获取设备周围压力的大小。压力传感器会返回一个数据代表设备周围压力的大小。 心率传感器 心率传感器是在5.0之后新增的一个传感器用于返回佩戴设备的人每分钟的心跳次数。该传感器返回的数据准确性可以通过SensorEvent的accuracy进行判断如果该属性值为SENSOR_STATUS_UNRELIABLE或SENSOR_STATUS_NO_CONTACT则表明传感器返回的数据是不太可靠的应该丢弃。 在使用心率传感器时需要增加如下权限 uses-permission android:nameandroid.permission.BODY_SENSORS/案例获取Android中传感器的值 XML代码 ?xml version1.0 encodingutf-8? LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticaltools:contextcom.zjs.cichangzhinanzhen.Main2ActivityTextViewandroid:textSize10dpandroid:idid/txt_value1android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value2android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value3android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value4android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value5android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value6android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:text温度传感器android:idid/txt_value7android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value8android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value9android:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:textSize10dpandroid:idid/txt_value10android:layout_widthmatch_parentandroid:layout_heightwrap_content//LinearLayout Activity代码 import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView;public class Main2Activity extends AppCompatActivity implements SensorEventListener {private SensorManager mSensorManager;private TextView mTxtValue1;private TextView mTxtValue2;private TextView mTxtValue3;private TextView mTxtValue4;private TextView mTxtValue5;private TextView mTxtValue6;private TextView mTxtValue7;private TextView mTxtValue8;private TextView mTxtValue9;private TextView mTxtValue10;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);mTxtValue1 (TextView) findViewById(R.id.txt_value1);mTxtValue2 (TextView) findViewById(R.id.txt_value2);mTxtValue3 (TextView) findViewById(R.id.txt_value3);mTxtValue4 (TextView) findViewById(R.id.txt_value4);mTxtValue5 (TextView) findViewById(R.id.txt_value5);mTxtValue6 (TextView) findViewById(R.id.txt_value6);mTxtValue7 (TextView) findViewById(R.id.txt_value7);mTxtValue8 (TextView) findViewById(R.id.txt_value8);mTxtValue9 (TextView) findViewById(R.id.txt_value9);mTxtValue10 (TextView) findViewById(R.id.txt_value10);// 获取传感器管理对象mSensorManager (SensorManager) getSystemService(Context.SENSOR_SERVICE);}protected void onResume() {super.onResume();// 为加速度传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);// 为方向传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME);// 为陀螺仪传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE), SensorManager.SENSOR_DELAY_GAME);// 为磁场传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_GAME);// 为重力传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY), SensorManager.SENSOR_DELAY_GAME);// 为线性加速度传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION), SensorManager.SENSOR_DELAY_GAME);// 为温度传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE), SensorManager.SENSOR_DELAY_GAME);// 为光传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT), SensorManager.SENSOR_DELAY_GAME);// 为压力传感器注册监听器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE), SensorManager.SENSOR_DELAY_GAME);//计步传感器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER), SensorManager.SENSOR_DELAY_GAME);//湿度传感器mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_RELATIVE_HUMIDITY), SensorManager.SENSOR_DELAY_GAME);}Overrideprotected void onStop() {super.onStop();// 取消监听mSensorManager.unregisterListener(this);}// 当传感器的值改变的时候回调该方法Overridepublic void onSensorChanged(SensorEvent event) {float[] values event.values;// 获取传感器类型int type event.sensor.getType();StringBuilder sb;switch (type) {case Sensor.TYPE_ACCELEROMETER:sb new StringBuilder();sb.append(加速度传感器返回数据);sb.append(\nX方向的加速度);sb.append(values[0]);sb.append(\nY方向的加速度);sb.append(values[1]);sb.append(\nZ方向的加速度);sb.append(values[2]);mTxtValue1.setText(sb.toString());break;case Sensor.TYPE_ORIENTATION:sb new StringBuilder();sb.append(方向传感器返回数据);sb.append(\n绕Z轴转过的角度);sb.append(values[0]);sb.append(\n绕X轴转过的角度);sb.append(values[1]);sb.append(\n绕Y轴转过的角度);sb.append(values[2]);mTxtValue2.setText(sb.toString());break;case Sensor.TYPE_GYROSCOPE:sb new StringBuilder();sb.append(陀螺仪传感器返回数据);sb.append(\n绕X轴旋转的角速度);sb.append(values[0]);sb.append(\n绕Y轴旋转的角速度);sb.append(values[1]);sb.append(\n绕Z轴旋转的角速度);sb.append(values[2]);mTxtValue3.setText(sb.toString());break;case Sensor.TYPE_MAGNETIC_FIELD:sb new StringBuilder();sb.append(磁场传感器返回数据);sb.append(\nX轴方向上的磁场强度);sb.append(values[0]);sb.append(\nY轴方向上的磁场强度);sb.append(values[1]);sb.append(\nZ轴方向上的磁场强度);sb.append(values[2]);mTxtValue4.setText(sb.toString());break;case Sensor.TYPE_GRAVITY:sb new StringBuilder();sb.append(重力传感器返回数据);sb.append(\nX轴方向上的重力);sb.append(values[0]);sb.append(\nY轴方向上的重力);sb.append(values[1]);sb.append(\nZ轴方向上的重力);sb.append(values[2]);mTxtValue5.setText(sb.toString());break;case Sensor.TYPE_LINEAR_ACCELERATION:sb new StringBuilder();sb.append(线性加速度传感器返回数据);sb.append(\nX轴方向上的线性加速度);sb.append(values[0]);sb.append(\nY轴方向上的线性加速度);sb.append(values[1]);sb.append(\nZ轴方向上的线性加速度);sb.append(values[2]);mTxtValue6.setText(sb.toString());break;case Sensor.TYPE_STEP_COUNTER:sb new StringBuilder();sb.append(计步传感器返回数据);sb.append(\n当前计步值);sb.append(values[0] 步);mTxtValue7.setText(sb.toString());break;case Sensor.TYPE_LIGHT:sb new StringBuilder();sb.append(光传感器返回数据);sb.append(\n当前光的强度为);sb.append(values[0]);mTxtValue8.setText(sb.toString());break;case Sensor.TYPE_PRESSURE:sb new StringBuilder();sb.append(压力传感器返回数据);sb.append(\n当前压力为);sb.append(values[0]);mTxtValue9.setText(sb.toString());break;case Sensor.TYPE_RELATIVE_HUMIDITY:sb new StringBuilder();sb.append(湿度传感器返回数据);sb.append(\n当前湿度为);sb.append(values[0]);mTxtValue10.setText(sb.toString());break;}}// 当传感器精度发生改变时回调该方法Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {} }效果图部分传感器数据为实时动态
http://wiki.neutronadmin.com/news/405203/

相关文章:

  • 中小企业建网站多少钱php在网站开发中的作用
  • 大连seo网站管理房产app平台有哪些
  • 手机网站会员中心模板免费公司介绍网站怎么做
  • 免费企业黄页查询网站网页分为哪几种类型
  • 做网站的公司dw网页制作教程个人网站
  • 奇墙网站建设住房和城乡建设部建造师官网
  • 网站错误代码500像素人物制作网站
  • 网站开发团队架构淘宝官网首页网站
  • 外包做网站需要多少钱中装建设属于什么板块
  • 东莞网站改版高端网站定制平台
  • 北京市建设工程审核网站scf900色带
  • xp系统做网站服务器吗php开发网站
  • 郑州建设厅官方网站网站建设发文章几点发比较合适
  • 河北建设工程招标投标协会网站软件前端开发主要做什么
  • 成都的网站建设开发公司面包屑导航的网站
  • 多少钱做网站做网站怎么写代码
  • 国外可以做推广的网站吗wordpress 开头空格
  • 深圳做二类医学学分的网站无锡建设市场网站
  • 雪域什么网站是做电影的用ftp做网站
  • 网站空间申请微信平台微商城
  • 小公司做网站的好处自助发稿
  • 成都 广告公司网站建设链接点击量软件
  • 广州商城型网站建设宁波seo网络推广报价
  • 门户网站建设文案怎么做网站上翻译泰剧
  • 贵阳企业网站建设制作怎么模仿别人做网站
  • 网站备案接入商网络广告营销特性
  • 建设网站模块需要哪些群辉装wordpress
  • 整站优化费用网站怎么做图片动态图片大全
  • 家居网站开发项目计划书网站ui设计
  • 网站建设公司文案给公司在百度上做网站