Robotics StackExchange | Archived questions

Rosjava InetAddress failure

Hi, I have been attempting to use rosjava with android 3.1 with no success. I was following some of the examples, but I get an unexpected failure in the InetAddress. The message is: "Could not find method com.google.common.net.InetAddresses.isInetAddress, reference from method org.ros.address.InetAddressFactory.newFromHostString". My code is very simple. Here it is:

package org.blh.android;
import android.app.Activity;

import java.net.InetAddress;
import java.net.URI;
import java.net.URISyntaxException;
import org.ros.address.InetAddressFactory;
import org.ros.internal.node.DefaultNodeFactory;
import org.ros.node.Node;
import org.ros.node.NodeConfiguration;
import org.ros.node.DefaultNodeRunner;
import android.os.Bundle;
import android.widget.Toast;

public class TestRosActivity extends Activity {
    String ip = "10.0.0.8";
    String masterUri = "http://" + ip + ":11311/";
    URI uri = null;
    String host = null; 
    NodeConfiguration nodeconfiguration = null;

    String defaultNodeName = "my_node";
    DefaultNodeFactory factory = null;
    Node node = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        String dump = "";

        try
        {
            uri = new URI(masterUri);
            InetAddress inet = InetAddressFactory.newNonLoopback();
            dump += "1,";
            if (inet != null)
            {
                host = inet.getHostName();
                dump += "2,";
                nodeconfiguration = NodeConfiguration.newPublic(host, uri);
                dump += "3,";
                factory = new DefaultNodeFactory();
                dump += "4,";
                node = factory.newNode(nodeconfiguration);
                dump += "5,";
            }
        }
        catch (Exception e)
        {
            Toast t = Toast.makeText(getApplicationContext(), "Exception: " + e.getMessage() + ". " + dump, Toast.LENGTH_LONG);
            t.show();
        }
    }
}

I am pretty new to ros, so hopefully it isn't a stupid mistake on my part. I didn't forget to add the internet permission. I have tried this on the emulator (2.3.3) and on my tablet (3.1).

Thanks for your help.

Asked by SgtSquatlow on 2011-11-22 02:43:05 UTC

Comments

Answers