Android与本地Tomcat的连接
来源:互联网 发布:软件出口免税政策 编辑:程序博客网 时间:2024/06/08 02:42
Android与本地Tomcat的连接
知道大家是否想试一下用Android模拟器如何访问自己建的Web站点呢?
下面我将讲一下如何实现
Step 1:我用的Tomcat作为本地服务器,在Webapps这个目录里,把我的名为kankong的Web工程放进来,启动Tomcat服务器.
在浏览器里输入: http://localhost(或者127.0.0.1):8080 nkong/index.html将出现如下界面:
Step 2:启动Android 模拟器: 如果你在Eclipse里已经启动了Android模拟器就跳过此步.我们如何手动启动Android模拟器呢?
首先运行cmd出现我们习惯的黑屏,输入Android list avd(列出所有AVD模拟器)
然后我们选择其中一个启动以Android 1.5为例子:emulator -debug avd_config -avd android 1.5: 出现我们熟悉的画面如下:
Step 3:打开浏览器输入 http://localhost:8080/kankong/index.html?
我们的第一想法是输入 http://localhost:8080/kankong/index.html,
可是这将不会成功,为什么呢?问题是这样的,Android模拟(simulator)把它自己作为了localhost,
也就是说,代码中使用 localhost或者127.0.0.1来访问,都是访问模拟器自己!这是不行的!如果你想在模拟器simulator上面访问你的电脑,那么就使用 android内置的IP 10.0.2.2 吧, 10.0.2.2 是模拟器设置的特定ip,是你的电脑的别名alias记住,
在模拟器上用10.0.2.2访问你的电脑本机. 也就是输入 http://10.0.2.2:8080/kankong/index.html 将 出现如下界面: (请记住: http://10.0.2.2:端口号) 如果你的默认端口是80,可以直接输入 http://10.0.2.2 OK~这样就大功告成了!
今天学习网络连接遇到了一个问题就是:
android java.net.ConnectException: Connection 127.0.0.1:8080 refused
解决方法如下:
调试中通过android simulator模拟器链接localhost或者127.0.0.1,因为我在电脑上面建立了apache,我的代码大概就是
URL url = new URL(urlString);
URLConnection urlconn = url.openConnection();
但是报错了!!
Exception 1:java.net.ConnectException: localhost/127.0.0.1:8080 -
Connection refused
问题是这样的,android模拟器(simulator)把它自己作为了localhost,也就是说,代码中使用localhost或者127.0.0.1来访问,都是访问模拟器自己!这是不行的!
如果你想在模拟器simulator上面访问你的电脑,那么就使用android内置的IP 10.0.2.2 吧, 10.0.2.2 是模拟器设置的特定ip,是你的电脑的别名alias
记住,在模拟器上用10.0.2.2访问你的电脑本机
不能直接访问localhost 或者127.0.0.1 这样直接访问到andoird 本机, 可以用直接IP地址访问
CMD 输入ipconfig 可以查看IP
我也遇到了这个问题,根据5楼的回答是做出来了。
这样是可以在项目里面访问到特定的地址,但是如果想直接在虚拟机里面打开其他网址还是不行啊。
我电脑很奇怪,1.6的虚拟机直接就可以在虚拟机里面上网,运行应用程序甚至都不用在mannifest中加入权限的那行代码,都可以运行。但是2.2就不行了,在虚拟机里用任何网址都是提示网页不可用错误。
不知道有没有让2.2虚拟机也能直接上网的方法。
localhost访问的是模拟器自己的IP,在模拟器上访问电脑当然要写电脑的IP。
终于把MP3player项目完成了,虽然很简单但是还有点成就感
中间遇到一些简单的问题想必初学者会遇到
1.用Android访问自己电脑Tomcat服务器出现connection refused
127.0.0.1 是 Android 模拟器设务自己的回送接口(既localhost)。
所以不能使用电脑连接android模拟器。
访问自己电脑上配置的tomcat服务器时有两种方法:
(1):使用自己电脑的ip地址
(2):可以用android内置IP 10.0.2.2
获取IP地址:
可用 ipconfig 查询IP
2.乱码问题
解决方法如下:
1.中文MP3名字下载问题
http://192.168.1.104:8080/mp3/a1.mp3这样可以下载到
http://192.168.1.104:8080/mp3/十年.mp3 出现中文名字就下载不到了。
解决方法:
1.修改Tomcat服务器conf\server.xml 这个文件。打开找到8080(我的Tomcat有两段port="8080",反正我两段都加了),在最后加上 URIEncoding="utf-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"/>
2.程序中修改“中文”的编码。关键代码URLEncoder.encode("string","utf-8");(只要把中文部分转编码就可以了)mp3info.getMp3Name()取得MP3的名字。
utfname=URLEncoder.encode(mp3info.getMp3Name(),"utf-8");
mp3url="http://192.168.1.104:8080/mp3/"+utfname;
URL url=new URL(mp3url);
这样就可以下载MP3文件了
=================================================================================
2.XML读取得中文的问题
解决方法:在InputStreamReader中设置编码为gb2312
还有歌词问题:
关键代码: InputStreamReader(inputStream,"GB2312");
好像有InputStreamReader的地方都要用"GB2312",用"UTF-8"不行.
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-10/44804.htm
- Android与本地Tomcat的连接
- Android与本地Tomcat的连接
- Android真机连接本地部署的Tomcat问题
- android与本地tomcat的通信,实现登录功能
- Android与本地服务器交互,出现的问题【android模拟器无法访问本地的tomcat 】
- Eclipse与Tomcat的连接
- android模拟器无法访问本地的tomcat
- android模拟器无法访问本地的tomcat
- 野人学Android基础篇之网络通讯第二课--本地apache服务器与Android的连接
- Android 移动端与tomcat 连接测试
- 开源b3log与本地MySQL的连接
- Genymotion模拟器连接不上本地tomcat的解决方法
- 本地主机与本地虚拟机的远程连接
- android连接本地web服务器的方法
- android访问本地tomcat
- android真机wifi连接本地Tomcat出现SocketTimeOutException连接超时解决方法
- Java的Eclipse与Tomcat的连接
- Android模拟器如何与本地电脑服务器连接
- android中wifi原理详解(转)
- WPS以及它的两种方式PIN与PBC的理解
- HDU 4614 Vases and Flowers (2013多校第二场线段树)
- [leetcode]Unique Paths
- 格式化数据的输出方法
- Android与本地Tomcat的连接
- Oracle 11g安装图文攻略
- Android中的MD5加密
- DataSet、object 与 Byte[]二进制 互转 压缩加非压缩
- Velocity语法强化1之#与$
- Oracle11g学习之服务启动篇
- 爱飞行上线 机票预订市场的价格战触底
- Book Review: The 5 Elements of Effective Thinking
- UVA 10110 (13.07.26)