先贴上部分代码
main.xml<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/jp.symphodia.android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<jp.symphodia.android.SpSurfaceView
android:id="@+id/SpSurfaceView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</FrameLayout>TempBrightbar.javapackage jp.symphodia.android;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;public class TempBrightBar extends Activity implements SensorEventListener{
private SpSurfaceView view; // �g�p����r���[�N���X
MenuItem item1;
MenuItem item2;
MenuItem item3;

SensorManager mSensorManager = null;
Sensor sensorLight = null;
Sensor sensorTemp = null;

/** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        SensorManager mSensorManager= (SensorManager) getSystemService(SENSOR_SERVICE);
        Sensor sensorLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
        Sensor sensorTemp = mSensorManager.getDefaultSensor(Sensor.TYPE_TEMPERATURE);
                
        mSensorManager.registerListener(this, sensorLight,SensorManager.SENSOR_DELAY_GAME);
        mSensorManager.registerListener(this, sensorTemp,SensorManager.SENSOR_DELAY_GAME);
               
        view = (SpSurfaceView) this.findViewById(R.id.SpSurfaceView01);
    }
            
    protected void onPause(){
     super.onPause();
     mSensorManager.unregisterListener(this, sensorLight);
     mSensorManager.unregisterListener(this, sensorTemp);
    }        
    
    public void onSensorChanged(SensorEvent event){
     if(event.sensor.getType() == Sensor.TYPE_LIGHT)
     {
         
     }
     if(event.sensor.getType() == Sensor.TYPE_TEMPERATURE)
     {
    
     }
    }
    
    public void onAccuracyChanged(Sensor s, int accuracy)
{
     Log.d("accuracy","onAccuracyChanged: "+s +", accuray:" + accuracy);
    }
    
    @Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu); ////////
//MenuItem item1 = menu.add("Start Vibration");
item1 = menu.add("Start");
OnMenuItemClickListener listener1 = new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
if(view.start() == true)
{
Log.d("hoge","start  true");
item1.setEnabled(false);
item2.setEnabled(true);
item3.setEnabled(false);
}else{
Log.d("hoge","start  false");
}
return false;
}
};
item1.setOnMenuItemClickListener(listener1); ////////
/////////
//MenuItem item2 = menu.add("Stop!");
item2 = menu.add("Stop!");
OnMenuItemClickListener listener2 = new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
item1.setEnabled(true);
item2.setEnabled(false);
item3.setEnabled(true);
onPause();
//view.stop();
return false;
}
};
item2.setOnMenuItemClickListener(listener2); //////////
//MenuItem item3 = menu.add("Finish!");
item3 = menu.add("Finish!");
OnMenuItemClickListener listener3 = new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
//view.stop();
System.exit(RESULT_OK);
return false;
}
};
item3.setOnMenuItemClickListener(listener3);

item2.setEnabled(false);
////////////
return true;
}

}SpSurfaceView.javapackage jp.symphodia.android;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;//import java.util.List;import java.util.concurrent.*;import java.util.Calendar;import java.util.UUID;import java.util.Vector;import java.util.Set;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.graphics.*;import android.graphics.Paint.Style;import android.hardware.*;import android.util.AttributeSet;import android.util.Log;import android.view.*;import android.os.Environment;  import android.widget.Toast;//Bluetooth�pimport android.bluetooth.BluetoothAdapter;import android.bluetooth.BluetoothDevice;import android.bluetooth.BluetoothSocket;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;public class SpSurfaceView extends SurfaceView implements SurfaceHolder.Callback { private static final int REQUEST_ENABLE_BT = 1; private Activity context; private SurfaceHolder holder; byte[] buffer = new byte[2048];  // buffer store for the stream int[] value = new int[1024]; float[] pts = new float[512]; //private int sensor_count = 0; public BufferedWriter m_bw; ScheduledExecutorService executor;     private BluetoothSocket mSocket;    private BluetoothDevice mDevice;        private InputStream mInStream = null;    private OutputStream mOutStream = null; public SpSurfaceView(Context context) { super(context); init(context); } public SpSurfaceView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public void init(Context context){ this.context = (Activity)context; holder = getHolder(); holder.addCallback(this); setFocusable(true); requestFocus(); }
public boolean start(){
                             .
                             .
                             .//此处省略些代码                                 int interval = 50;
executor =
Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(new Runnable() {

public void run() {
sensor_work();

}
}, 500, interval, TimeUnit.MILLISECONDS);


return true;
}
public void sensor_work()
{     
  。
                  。
                  。  
Canvas c = holder.lockCanvas();
c.drawColor(Color.BLACK);
Paint p = new Paint();
p.setStyle(Style.FILL);
p.setColor(Color.WHITE);
p.setTextSize(16); //tempareture
c.drawText("100", 40, 48, p);
c.drawText("0", 54, 448, p);
c.drawText(temp + " C", 116, 460, p);

//bright
c.drawText("600", 260, 48, p);
c.drawText("0", 274, 448, p);
c.drawText(bright + " Lux", 324, 460, p);


p.setStyle(Style.FILL);
p.setColor(Color.RED);

Rect r = new Rect();
r.left = 80;
r.right = 180;
r.bottom = 440;
r.top = 440 - (int)(temp * 4);

c.drawRect(r, p);

p.setStyle(Style.STROKE);
p.setColor(Color.WHITE);
r.top = 40;
c.drawRect(r, p);

//
p.setStyle(Style.FILL);
p.setColor(Color.YELLOW);

r.left = 300;
r.right = 400;
r.bottom = 440;
r.top = 440 - (int)( (bright * 400) / 600 );

c.drawRect(r, p);

p.setStyle(Style.STROKE);
p.setColor(Color.WHITE);
r.top = 40;
c.drawRect(r, p);

    holder.unlockCanvasAndPost(c);

}onSensorChanged得到的数据值怎样传递到SpSurfaceView类中