Go to the documentation of this file.00001 package com.github.rosjava.android_apps.listener;
00002
00003 import java.net.URI;
00004
00005 import android.app.Activity;
00006 import android.os.Bundle;
00007 import android.util.Log;
00008 import android.view.Menu;
00009 import android.view.MenuItem;
00010 import android.widget.Toast;
00011
00012
00013 import org.ros.node.ConnectedNode;
00014 import org.ros.node.NodeMainExecutor;
00015 import org.ros.node.NodeConfiguration;
00016 import org.ros.address.InetAddressFactory;
00017
00018
00019 import std_msgs.String;
00020
00021
00022 import org.ros.android.MessageCallable;
00023 import org.ros.android.view.RosTextView;
00024
00025
00026 import com.github.rosjava.android_apps.application_management.RosAppActivity;
00027
00028 import std_msgs.*;
00029
00030 public class Listener extends RosAppActivity
00031 {
00032 private Toast lastToast;
00033 private ConnectedNode node;
00034 private RosTextView<std_msgs.String> rosTextView;
00035
00036 public Listener()
00037 {
00038 super("Listener", "Listener");
00039 }
00040
00042 @Override
00043 public void onCreate(Bundle savedInstanceState)
00044 {
00045 setDefaultRobotName(getString(R.string.default_robot));
00046 setDefaultAppName(getString(R.string.paired_app_name));
00047 setDashboardResource(R.id.top_bar);
00048 setMainWindowResource(R.layout.main);
00049 super.onCreate(savedInstanceState);
00050 }
00051
00052 @Override
00053 protected void init(NodeMainExecutor nodeMainExecutor)
00054 {
00055 super.init(nodeMainExecutor);
00056 NodeConfiguration nodeConfiguration =
00057 NodeConfiguration.newPublic(InetAddressFactory.newNonLoopback().getHostAddress(), getMasterUri());
00058 rosTextView = (RosTextView<std_msgs.String>) findViewById(R.id.text);
00059 rosTextView.setTopicName(getAppNameSpace().resolve("chatter").toString());
00060 rosTextView.setMessageType(std_msgs.String._TYPE);
00061 rosTextView.setMessageToStringCallable(new MessageCallable<java.lang.String, String>() {
00062 @Override
00063 public java.lang.String call(std_msgs.String message) {
00064 return message.getData();
00065 }
00066 });
00067 nodeMainExecutor.execute(rosTextView, nodeConfiguration);
00068 }
00069
00070 @Override
00071 public boolean onCreateOptionsMenu(Menu menu)
00072 {
00073 menu.add(0,0,0,R.string.stop_app);
00074 return super.onCreateOptionsMenu(menu);
00075 }
00076
00077 @Override
00078 public boolean onOptionsItemSelected(MenuItem item)
00079 {
00080 super.onOptionsItemSelected(item);
00081 switch (item.getItemId()){
00082 case 0:
00083 finish();
00084 break;
00085 }
00086 return true;
00087 }
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108 }