Czujnik aklerometryczny w osobnym gwincie

Zapisuję dane z czujnika przyspieszeniomierza do bazy danych, ale chcę to zrobić w osobnym wątku. Próbowałem go wyszukać w Internecie, ale większość z nich używa tego samego wątku. Proszę pomóż. Rzeczy, które próbowałem: 1)

SenSorEventListener sel;
    Thread A=new Thread(){
                public void run()
                {
                    sel=new SensorEventListener() {

                        @Override
                        public void onSensorChanged(SensorEvent event) {
                            // TODO Auto-generated method stub
                            double Acceleration,x,y,z;
                            x=event.values[0];
                            y=event.values[2];
                            z=event.values[2];
                            Acceleration=Math.sqrt(x*x+y*y+z*z);
                            db.addAccel(Acceleration);
                            Log.d("MESSAGE","SAVED");
                        }

                        @Override
                        public void onAccuracyChanged(Sensor sensor, int accuracy) {
                            // TODO Auto-generated method stub

                        }
                    };
                }
            };
            A.start();
            try {
                A.join();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            sm.registerListener(sel,s,1000000);
}

Wziąłem SensorEventListener, zainicjowałem go w nowym wątku, a następnie zarejestrowałem go za pomocą rejestru listener.

Inne podejście: Zaimplementowałem klasę Accelerometer przy użyciu interfejsu Runnable, zainicjowałem wszystko w Constructor, więc moja metoda run () jest pusta, ale to podejście nie tworzy nowego wątku.

    Accelerometer(Context con,Database d)
        {   
            sm=(SensorManager)con.getSystemService(Context.SENSOR_SERVICE);
            s=sm.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);
            sm.registerListener(this,s,1000000);
            db=d;
        }
   void run()
   {}

Proszę zaproponować mi inne podejście lub jeśli robię coś złego w powyższych podejściach.

questionAnswers(1)

yourAnswerToTheQuestion