• 霍尔传感器无法动态显示数值


    package com.freeme.factory.sensor;

    import java.util.Timer;
    import java.util.TimerTask;

    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.widget.TextView;

    import com.freeme.factory.base.BaseTest;

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import android.util.ArrayMap;
    import android.view.KeyEvent;

    import com.freeme.provider.FreemeSettings;
    import android.provider.Settings;

    import com.freeme.factory.R;

    public class HSensor extends BaseTest {
        private static final String TAG = "HSensor";

        private static final int CHECK_PERIOD = 200; //ms

        private TextView mResult;

        private int mLastValue = 1;
        private int mRoundCount = 0;

        private Timer mTimer;
        private TimerTask mTimerTask;

        private static final int MSG_UPDATE_UI = 0;

        private static boolean TESTING_KEY_HALL = true;
        private boolean mKeyTestedHall;

        private native int nativeGetSensorHallState();
        static {
            System.loadLibrary("jni_factory_speaker");
        }

        private Handler mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                switch (msg.what) {
                    case MSG_UPDATE_UI:
                        updateState();
                        break;
                    default:
                        break;
                }
            }
        };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.hsensor);

            mResult = (TextView) findViewById(R.id.proximity_hall);

            testActionCompleted(false);
        }

        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            return super.onKeyDown(keyCode, event);
        }

        @Override
        public boolean onKeyUp(int keyCode, KeyEvent event) {
            switch (keyCode) {
                case KeyEvent.KEYCODE_ALT_RIGHT:
                    if (!mKeyTestedHall){
                        testActionCompleted(true);
                        mKeyTestedHall = true;
                    }
                    mResult.setText(getString(R.string.proximity) + 0);
                    break;
                 case KeyEvent.KEYCODE_ALT_LEFT:
                    mResult.setText(getString(R.string.proximity) + 1);
                    break;

                default:
                    break;
            }
            return super.onKeyUp(keyCode, event);
        }

        @Override
        protected void onResume() {
            super.onResume();
        }

        @Override
        protected void onPause() {
            super.onPause();
        }

      

        

        private void updateState() {
            int state = nativeGetSensorHallState();
            Log.d(TAG, "updateState = " + state);
             mResult.setText(getString(R.string.proximity) + state); 
            

            if (mLastValue != state) {
                mRoundCount++;
                mLastValue = state;
            }

            if (mRoundCount >= 2) {
                testActionCompleted(true);
            }
        }
    }
     

  • 相关阅读:
    【脏读、脏写、不可重复读、幻读】数据库数据并发产生的问题
    mysql怎么导入sql文件
    四大场景化模型算法搞定贷中营销场景|实操与效果比对
    Golang Context 的并发安全性探究
    Java:三种代理模式示例
    CV计算机视觉每日开源代码Paper with code速览-2023.10.13
    开源软件 FFmpeg 生成模型使用图片数据集
    Chapter7: SpringBoot与数据访问
    内容安全检测接口
    高压放大器在静电喷涂技术中的应用
  • 原文地址:https://blog.csdn.net/qq_46687516/article/details/133739552