- 浏览: 423857 次
- 性别:
-
文章分类
最新评论
-
wrw_ahut:
你这个怎么停下来?怎么跳转activity
Android启动界面实现 -
huiqoo:
高仿UC半透明MENU菜单(有图有真相) -
wenzhixin:
多谢分享~
Android启动界面实现 -
orange9711:
学习学习
Android启动界面实现 -
qinweiping:
问下楼主 好像这个反编译 只能看到程序的主体结构吧 还是和源程 ...
APK反编译利器Apktool下载及用法介绍
import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 获取本机外网IP地址 * 思想是访问网站http://checkip.dyndns.org/,得到返回的文本后解析出本机在外网的IP地址 * @author Administrator * */ public class ExternalIpAddressFetcher { // 外网IP提供者的网址 private String externalIpProviderUrl; // 本机外网IP地址 private String myExternalIpAddress; public ExternalIpAddressFetcher(String externalIpProviderUrl) { this.externalIpProviderUrl = externalIpProviderUrl; String returnedhtml = fetchExternalIpProviderHTML(externalIpProviderUrl); parse(returnedhtml); } /** * 从外网提供者处获得包含本机外网地址的字符串 * 从http://checkip.dyndns.org返回的字符串如下 * <html><head><title>Current IP Check</title></head><body>Current IP Address: 123.147.226.222</body></html> * @param externalIpProviderUrl * @return */ private String fetchExternalIpProviderHTML(String externalIpProviderUrl) { // 输入流 InputStream in = null; // 到外网提供者的Http连接 HttpURLConnection httpConn = null; try { // 打开连接 URL url = new URL(externalIpProviderUrl); httpConn = (HttpURLConnection) url.openConnection(); // 连接设置 HttpURLConnection.setFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)"); // 获取连接的输入流 in = httpConn.getInputStream(); byte[] bytes=new byte[1024];// 此大小可根据实际情况调整 // 读取到数组中 int offset = 0; int numRead = 0; while (offset < bytes.length && (numRead=in.read(bytes, offset, bytes.length-offset)) >= 0) { offset += numRead; } // 将字节转化为为UTF-8的字符串 String receivedString=new String(bytes,"UTF-8"); // 返回 return receivedString; } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { in.close(); httpConn.disconnect(); } catch (Exception ex) { ex.printStackTrace(); } } // 出现异常则返回空 return null; } /** * 使用正则表达式解析返回的HTML文本,得到本机外网地址 * @param html */ private void parse(String html){ Pattern pattern=Pattern.compile("(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})", Pattern.CASE_INSENSITIVE); Matcher matcher=pattern.matcher(html); while(matcher.find()){ myExternalIpAddress=matcher.group(0); } } /** * 得到本机外网地址,得不到则为空 * @return */ public String getMyExternalIpAddress() { return myExternalIpAddress; } public static void main(String[] args){ ExternalIpAddressFetcher fetcher=new ExternalIpAddressFetcher("http://checkip.dyndns.org/"); System.out.println(fetcher.getMyExternalIpAddress()); } }
发表评论
-
Android Launcher一些资源
2012-01-10 16:03 1614棒槌网@Android相关文章推荐: rjJ-ZRs\ An ... -
卡刷rom固件update.zip的制作教程
2011-12-29 19:44 19287对于第三方ROM来讲,通常都包括两部分,一个recover ... -
APK反编译利器Apktool下载及用法介绍
2011-12-29 19:40 6522近期在研究rom过程中发现一个非常不错的软件,可以帮助我们把A ... -
Android版本检测\自动更新
2011-11-30 10:39 2771package com.hiyo.game.pdk.tool; ... -
高仿UC半透明MENU菜单(有图有真相)
2011-11-13 15:55 1964转载自:http://www.eoeandroid.com/ ... -
Android启动界面实现
2011-11-13 15:39 6800转载自:http://www.eoeandroid.com/t ... -
Red5+OpenOffice+OpenMeetings架设视频会议网络
2009-07-01 09:57 2256因工作需要,这两天弄了一个视频会议服务器。采用了flash流媒 ... -
J2EE or J2SE? JNDI works with both
2009-05-11 16:21 1531J2EE or J2SE? JNDI works with b ... -
脚本启动Java应用程序(Windows/Linux)
2009-05-08 16:40 37011、新建文件夹myapp,放你的应用; 2、将你的程序 ... -
破解Java程序
2007-12-13 17:36 1902第一步是定位,这也是 ... -
WebSphere 应用服务器环境搭建实践指南
2007-08-22 18:20 5232Dan Wu (wdan@cn.ibm.com), 高级信息工 ... -
beanutils研究心得
2007-01-23 15:47 2171Beanutils用了魔术般的反射技术,实现了很多夸张有用的功 ... -
apache-common功能列表
2007-01-23 15:16 4997... -
Apache Commons工具集简介[转载]
2007-01-21 02:20 5614js 代码 <script ... -
利用servlet生成简单的验证码
2007-01-21 01:47 1626在web.xml配置: 代码 < ... -
实战篇:设计自己的Annotation
2007-01-21 01:44 1411From:http://lighter.iteye.com 第 ... -
JSTL 入门: 表达式语言
2007-01-15 11:23 1417JSP 标准标记库(JSP Stand ... -
extremeTable介绍
2007-01-10 11:14 46291、何为 extremeTable,又一个开源taglib e ... -
ExtremeTable使用指南:Limit指南
2007-01-10 11:08 36461. 引言 在你需要处理大量数据时你应该考虑使用eXtreme ... -
ExtremeTable使用指南:拦截器使用指南
2007-01-10 10:45 20821. 引言 拦截特性被用在运行时需要修改属性值的时候,它使得改 ...
评论