Java tutorial
//package com.java2s; /* * Copyright (C) 2012 Paul Bovbel, paul@bovbel.com * * This file is part of the Mover-Bot robot platform (http://code.google.com/p/mover-bot/) * * Mover-Bot is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This source code is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this source code. If not, see http://www.gnu.org/licenses/ */ import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; import java.util.regex.Matcher; import java.util.regex.Pattern; import android.util.Log; public class Main { final static String TAG = "util"; /** get first valid ipv4 address of this device */ public static String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en .hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress() && validIP(inetAddress.getHostAddress())) { return inetAddress.getHostAddress(); } } } } catch (Exception e) { Log.e(TAG, e.toString()); } return null; } /** check if string is valid ipv4 */ public static boolean validIP(String ip) { if (ip == null || ip.isEmpty()) return false; ip = ip.trim(); if ((ip.length() < 6) & (ip.length() > 15)) return false; try { Pattern pattern = Pattern.compile( "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"); Matcher matcher = pattern.matcher(ip); return matcher.matches(); } catch (Exception e) { return false; } } }