Listener.java
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 // RosJava Imports
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 // RosJava Messages
00019 import std_msgs.String;
00020 
00021 // Android Core Imports
00022 import org.ros.android.MessageCallable;
00023 import org.ros.android.view.RosTextView;
00024 
00025 // Android App Imports
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 //     * Call Toast on UI thread.
00091 //     * @param message Message to show on toast.
00092 //     */
00093 //    private void showToast(final String message)
00094 //    {
00095 //        runOnUiThread(new Runnable()
00096 //        {
00097 //            @Override
00098 //            public void run() {
00099 //                if (lastToast != null)
00100 //                    lastToast.cancel();
00101 //
00102 //                lastToast = Toast.makeText(getBaseContext(), message, Toast.LENGTH_LONG);
00103 //                lastToast.show();
00104 //            }
00105 //        });
00106 //    }
00107 
00108 }


android_apps
Author(s): Daniel Stonier , Kazuto Murase
autogenerated on Fri Aug 28 2015 10:04:40