A method for waiting for sensor data

前端 未结 2 1729
不思量自难忘°
不思量自难忘° 2021-01-14 23:00

I have a class which initiates a sensor listener when it is started. This listener writes the latest sensor value to a variable when an event is triggered. The class goes on

相关标签:
2条回答
  • 2021-01-14 23:17

    This is not strictly related to android, but also general java question. Mechanism to implement this is container in java.lang.Oject. Assuming you have some guard object, where producer and consumer threads have access. On consumer thread you call:

    guard.wait(some_optional_delay_Look_into_javadoc);
    

    Then cosumer thread will wait until timeout ocurs or hell frozes out or producer thread issues:

    guard.notify[All]();
    

    (read documentation)

    Your service listener will be producer.

    0 讨论(0)
  • 2021-01-14 23:41

    I am using Handler for exactly same situation.

    Handler handler = new Handler();
    handler.post(new Runnable() {
    
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    try {
                        x1.setText(String.valueOf(sensors.getValueAccX()));
            Log.d("Sensors", String.valueOf(sensors.getValueAccZ()));//using persoanl methods that are not shown here
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (Exception e) {
                        Toast.makeText(ClientSideActivity.this,
                                "Server is not running", Toast.LENGTH_LONG).show();
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
    
                    // TODO Auto-generated method stub
    
                    handler.postDelayed(this, 100);
                }
    
            });
    
    0 讨论(0)
提交回复
热议问题