Back to project page android-wear-go-walk.
The source code is released under:
MIT License
If you think the Android project android-wear-go-walk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.beltranfebrer.gowalk2; /*from w w w .ja v a 2 s .c om*/ import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.wearable.MessageApi; import com.google.android.gms.wearable.Node; import com.google.android.gms.wearable.NodeApi; import com.google.android.gms.wearable.Wearable; import java.util.ArrayList; import java.util.List; public class MainActivity extends Activity { GoogleApiClient mGoogleApiClient; private static final String TAG = MainActivity.class.toString(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); connectWear(); final Button button = (Button) findViewById(R.id.startActivityWear); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { askSteps(); } }); } private void connectWear() { mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(Bundle connectionHint) { Log.d(TAG, "onConnected: " + connectionHint); } @Override public void onConnectionSuspended(int cause) { Log.d(TAG, "onConnectionSuspended: " + cause); } }) .addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() { @Override public void onConnectionFailed(ConnectionResult result) { Log.d(TAG, "onConnectionFailed: " + result); } }) .addApi(Wearable.API) .build(); mGoogleApiClient.connect(); } private void askSteps(){ new AsyncTask<Void, Void, List<Node>>(){ @Override protected List<Node> doInBackground(Void... params) { return getNodes(); } @Override protected void onPostExecute(List<Node> nodeList) { for(final Node node : nodeList) { Log.v(TAG, "telling " + node.getId()); new Thread() { @Override public void run() { MessageApi.SendMessageResult result = Wearable.MessageApi.sendMessage( mGoogleApiClient, node.getId(), "/ask/Steps", null ).await(); if(!result.getStatus().isSuccess()) { Log.e(TAG, "ERROR: failed to send Message: " + result.getStatus()); } } }.start(); } } }.execute(); } private List<Node> getNodes() { List<Node> nodes = new ArrayList<Node>(); NodeApi.GetConnectedNodesResult rawNodes = Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).await(); for (Node node : rawNodes.getNodes()) { nodes.add(node); } return nodes; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }