91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android利用Senser實現不同的傳感器

發布時間:2020-10-10 13:42:02 來源:腳本之家 閱讀:152 作者:歲月靜好_Cindy 欄目:移動開發

傳感器有不同的類型,以下是我列出的光線,加速度,風向傳感器,在測試不同傳感器的時候都需將傳感器管理的onResume中sensorManager.registerListener(myListner,sensorOri,sensorManager.SENSOR_DELAY_UI);

第二個參數改為相應的傳感器,此dem中我加入了一張指南針圖片作為示例:

Android利用Senser實現不同的傳感器

activity_main.xml

 <Button
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="查看所有支持的傳感類型"
 android:onClick="getAllSensors"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:textSize="30sp"
 android:id="@+id/tv_main_result"

 />

 <ImageView
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:src="@drawable/sounth"
 android:id="@+id/iv_main_images"

 />

java代碼中注釋掉的部分都是一種傳感器的測試。

MainActivity.java

package com.example.cindy_sounth;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.List;

public class MainActivity extends AppCompatActivity {

 private SensorManager sensorManager;
 private Sensor sensorLight;
 private Sensor sensorAcc;
 private Sensor sensorOri;
 private TextView tv_main_result;
 private MyListner myListner;
 private ImageView iv_main_images;
 private float current;


 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 //得到圖片
 iv_main_images = (ImageView) findViewById(R.id.iv_main_images);

 tv_main_result = (TextView) findViewById(R.id.tv_main_result);

 //得到傳感器的管理者
 sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
 //得到光線傳感器
// sensorLight = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

 //獲得加速度傳感器
// sensorAcc = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
  //獲取風向傳感器
 sensorOri = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);



 myListner = new MyListner();



 }
 //注冊一個監聽(監聽某一個傳感器的值)
 @Override
 protected void onResume() {
 super.onResume();

 sensorManager.registerListener(myListner,sensorOri,sensorManager.SENSOR_DELAY_UI);
 }
 class MyListner implements SensorEventListener{

  private WindowManager.LayoutParams layoutParams;

  //當你的值發生改變
  @Override
  public void onSensorChanged(SensorEvent event) {
  float[] f=event.values;
  //測試獲取光線傳感器的值(光線值)
//  float light= f[0];
//  tv_main_result.setText(light+"");

  //測試獲得加速度傳感器
//  float x= f[0];
//  float y= f[1];
//  float z= f[2];
//  tv_main_result.setText("x="+x+"\ny="+y+"\nz="+z);

  //測試獲取風向傳感器
//  float x= f[0];
//  float y= f[1];
//  float z= f[2];
//  tv_main_result.setText("x="+x+"\ny="+y+"\nz="+z);

  //加圖片測試指南針
  float x= f[0];
  float y= f[1];
  float z= f[2];
  tv_main_result.setText("x="+x+"\ny="+y+"\nz="+z);

  //實例化旋轉動畫
  RotateAnimation rotateAnimation=new RotateAnimation(current,-x,RotateAnimation.RELATIVE_TO_SELF,0.5f,RotateAnimation.RELATIVE_TO_SELF,0.5f);
  rotateAnimation.setDuration(200);
  current=-x;
  iv_main_images.startAnimation(rotateAnimation);
  //改變屏幕的亮度
  //先拿到屏幕
//  WindowManager.LayoutParams layoutParams= getWindow().getAttributes();
//  layoutParams.screenBrightness=light/225f;
//  getWindow().setAttributes(layoutParams);

  }
  //當值發生精度改變
  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {

  }
 }



 @Override
 protected void onDestroy() {
 super.onDestroy();
 sensorManager.unregisterListener(myListner);
 }
 public void getAllSensors(View view){
 List<Sensor> sensors= sensorManager.getSensorList(Sensor.TYPE_ALL);
 for (Sensor sensor : sensors) {
  Log.i("test", sensor.getName());
//  sensor.getPower();
 }

 }



}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长葛市| 长沙县| 渑池县| 左贡县| 板桥市| 东乡族自治县| 滨州市| 启东市| 耿马| 盐边县| 天台县| 望谟县| 台前县| 云安县| 油尖旺区| 兴安县| 桂平市| 轮台县| 鹿泉市| 嘉祥县| 榆树市| 海门市| 凤台县| 封丘县| 六安市| 芜湖市| 扎鲁特旗| 瑞金市| 清水河县| 文登市| 南郑县| 黄石市| 肥东县| 嘉黎县| 新密市| 都兰县| 文昌市| 葵青区| 泰兴市| 土默特左旗| 三原县|