android pubsub tutorial: publishing int from app

asked 2014-08-05 08:33:14 -0500

stefan gravatar image

updated 2014-08-06 05:20:49 -0500


how can i publish an int with my (from pubsub tutorial)

i managed to publish an int from my app!

in the app

protected void init(NodeMainExecutor nodeMainExecutor) {
 // talker = new Talker();
talker = new Talker(3);

//talker = new Talker(zu ├╝bergebende Infos); - anpassen

//listener = new Listener();

NodeConfiguration nodeConfiguration = NodeConfiguration.newPrivate();
// At this point, the user has already been prompted to either enter the URI
// of a master to use or to start a master locally.
nodeConfiguration = NodeConfiguration.newPublic(InetAddressFactory.newNonLoopback().getHostAddress().toString(), getMasterUri());

nodeMainExecutor.execute(talker, nodeConfiguration);

//nodeMainExecutor.execute(listener, nodeConfiguration);
// The RosTextView is also a NodeMain that must be executed in order to
// start displaying incoming messages.
nodeMainExecutor.execute(rosTextView, nodeConfiguration);


public class Talker extends AbstractNodeMain {

  private int x;

//public Talker(){}
public Talker(int i){this.x= i;}

  public GraphName getDefaultNodeName() {
    return GraphName.of("rosjava_tutorial_pubsub/talker");

  public void onStart(final ConnectedNode connectedNode) {
    final Publisher<std_msgs.String> publisher =
    connectedNode.newPublisher("chatter", std_msgs.String._TYPE);
  // This CancellableLoop will be canceled automatically when the node shuts
  // down.
connectedNode.executeCancellableLoop(new CancellableLoop() {
  private int sequenceNumber;

  protected void setup() {
    sequenceNumber = 0;

  protected void loop() throws InterruptedException {
    std_msgs.String str = publisher.newMessage();
    str.setData(" Test -  " + x + "  -  "+ sequenceNumber);

It is now publishing Test - 3 - XX

but i can't change the value of this int

i want to do

talker = new talker (int_var);

and change int_var while running

so i have to change talker.x value in the loop


setting the int x to public makes it possible to write in talker.x in the app

edit retag flag offensive close merge delete