簡體   English   中英

如何從onSensorChanged到ThreatForLoopA類獲取加速度計值?

[英]How can i get accelerometer values from onSensorChanged to class ThreatForLoopA?

例如。 我正在使用加速度計,並且我想在另一類ThreatForLoopA中輸入x,y,z值。

@Override
public void onSensorChanged(int sensor, float[] values) {
    // TODO Auto-generated method stub

    x = values[0];
    y = values[1];
    z = values[2];

    ThreadForLoopA threadA = new ThreadForLoopA();

    if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
        long curTime = System.currentTimeMillis();

    threadA.start();

這是ThreatForLoopA類的示例:

public class ThreadForLoopA extends Thread{

TextView xacc = null;
TextView yacc = null;
TextView zacc = null;

float[][] p= new float[5][3];
private long lastUpdate = -1;
public float x,y,z;
int row = 0;

@Override
public void run() {
    // TODO Auto-generated method stub

    long curTime = System.currentTimeMillis();

    if (lastUpdate == -1 || (curTime - lastUpdate) > 2000) {
        lastUpdate = curTime;

            for (int column = 0; column < 3; column++) {
                if (column == 0) {
                    p[row][column] = x;
                    //xacc.setText("Os X: " + p[row][column]);
                }
                if (column == 1) {
                    p[row][column] = y;
                    //yacc.setText("Os X: " + p[row][column]);
                }
                if (column == 2) {
                    p[row][column] = z;
                    //zacc.setText("Os X: " + p[row][column]);
                }}
                if (row == 0) {
                    xacc.setText("Os X: " + p[row][0] + " " + p[row][1] +" " + p[row][2]);
                }

如何從onSensorChanged到ThreatForLoopA類獲取加速度計值?

好吧,將它們傳遞給構造函數:

ThreadForLoopA threadA = new ThreadForLoopA(x, y, z);

...

public ThreadForLoopA(float x, float y, float z) {
    this.x = x;
    this.y = y;
    this.z = z;
}

並將所有這些字段設為私有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM