title: Get data from Smartwatch Android Wear to Smartphone
body: <p>I have made some apps (pedometer, heart rate, audio recorder) for the moto360 with android wear. everything works fine, but I don't know how to save the data on the watch and how to access the data on the smartphone. I have managed to send messages to the watch, but I can't send data from the watch to the phone. I can save my data on the smartphone, but I don't know how to manage it on the smartwatch. can someone show me a tutorial or an example? thank you so much!</p>
  
  <p>edit:
  The following Code below is used for tracking the heartrate on the Moto360 and it works fine.
  I tried to transfer the data from the watch to the Phone for that I used this tutorial -> <a href="https://developer.android.com/training/wearables/data-layer/data-items.html" rel="nofollow">https://developer.android.com/training/wearables/data-layer/data-items.html</a></p>
  
  <p>After implementing the Code from the android page I  couldn`t run the Project on the device!</p>
  
  <pre><code>    public class MainActivity extends Activity implements SensorEventListener {
  
  
          private static final String TAG = "MainActivity";
          private TextView mTextViewStepCount;
          private TextView mTextViewStepDetect;
          private TextView mTextViewHeart;
          PutDataMapRequest dataMap = PutDataMapRequest.create("/count");
          GoogleApiClient mGoogleApiClient;
  
          @Override
          protected void onCreate(Bundle savedInstanceState) {
  
  
              getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
  
              final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
              stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
                  @Override
                  public void onLayoutInflated(WatchViewStub stub) {
  
                      mTextViewStepCount = (TextView) stub.findViewById(R.id.step_count);
                      mTextViewStepDetect = (TextView) stub.findViewById(R.id.step_detect);
                      mTextViewHeart = (TextView) stub.findViewById(R.id.heart);
                      getStepCount();
  
                  }
              });
          }
  
          private void getStepCount() {
              SensorManager mSensorManager = ((SensorManager) getSystemService(SENSOR_SERVICE));
              Sensor mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
              Sensor mStepCountSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
              Sensor mStepDetectSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
  
              mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
              mSensorManager.registerListener(this, mStepCountSensor, SensorManager.SENSOR_DELAY_NORMAL);
              mSensorManager.registerListener(this, mStepDetectSensor, SensorManager.SENSOR_DELAY_NORMAL);
          }
  
          private String currentTimeStr() {
              Calendar c = Calendar.getInstance();
              SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
              return df.format(c.getTime());
          }
  
          public void onAccuracyChanged(Sensor sensor, int accuracy) {
              Log.d(TAG, "onAccuracyChanged - accuracy: " + accuracy);
          }
  
          public void onSensorChanged(SensorEvent event) {
              if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) {
                  String msg = "" + (int) event.values[0];
  
                  mTextViewHeart.setText(msg);
                  Log.d(TAG, msg);
  
              } else if (event.sensor.getType() == Sensor.TYPE_STEP_COUNTER) {
                  String msg = "Count: " + (int) event.values[0];
                  mTextViewStepCount.setText(msg);
                  Log.d(TAG, msg);
              } else if (event.sensor.getType() == Sensor.TYPE_STEP_DETECTOR) {
                  String msg = "Detected at " + currentTimeStr();
                  mTextViewStepDetect.setText(msg);
                  Log.d(TAG, msg);
              } else {
                  Log.d(TAG, "Unknown sensor type");
              }
          }
      }
  </code></pre>