package com.yw.sdkdemo.imu;
|
|
import android.os.Bundle;
|
|
import android.view.View;
|
import android.widget.Button;
|
import android.widget.TextView;
|
|
import androidx.annotation.Nullable;
|
import androidx.appcompat.app.AppCompatActivity;
|
|
import com.yw.imu.YwImuManager;
|
import com.yw.sdkdemo.R;
|
|
|
/**
|
* Created by xushuang on 2024/5/10
|
* E-mail: mitgic92@gmail.com
|
* Description:
|
*/
|
public class ImuActivity extends AppCompatActivity {
|
|
private static final String TAG = ImuActivity.class.getSimpleName();
|
|
private Button bt_register;
|
private Button bt_unregister;
|
private TextView tv_data;
|
|
@Override
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_imu);
|
|
initView();
|
initListener();
|
}
|
|
private void initView() {
|
bt_register = findViewById(R.id.bt_register);
|
bt_unregister = findViewById(R.id.bt_unregister);
|
tv_data = findViewById(R.id.tv_data);
|
|
}
|
|
// 使用 StringBuilder 替代 String.format
|
StringBuilder logMessage = new StringBuilder();
|
|
|
private YwImuManager.SensorDataListener listener = new YwImuManager.SensorDataListener() {
|
@Override
|
public void onSensorData(float v, float v1, float v2, float v3, float v4, float v5) {
|
logMessage.delete(0, logMessage.length());
|
logMessage.append("accX=").append(v)
|
.append(" accY=").append(v1)
|
.append(" accZ=").append(v2)
|
.append(" gyroX=").append(v3)
|
.append(" gyroY=").append(v4)
|
.append(" gyroZ=").append(v5);
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
tv_data.setText(logMessage.toString());
|
}
|
});
|
}
|
};
|
|
|
private void initListener() {
|
|
bt_register.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
YwImuManager.getInstance().register(listener);
|
}
|
});
|
|
|
bt_unregister.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
YwImuManager.getInstance().unregister(listener);
|
tv_data.setText("");
|
}
|
});
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
YwImuManager.getInstance().unregister(listener);
|
tv_data.setText("");
|
}
|
}
|