android客户端与服务器交互,在模拟器能够得到服务器的响应,但是在真机得不到服务器的响应,请问怎么回事?程序如下:

============问题描述============

private static final String URL = " ";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

tv = (TextView) this.findViewById(R.id.textView2);

user = (EditText) this.findViewById(R.id.editText1);

password = (EditText) this.findViewById(R.id.editText2);

button = (Button) this.findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// 实现连接服务器的功能

init();

}

// 用POST的方法实现

private void init() {

// TODO Auto-generated method stub

boolean flag = false; // 成功与否的标记

String user1 = user.getText().toString().trim();

String password1 = password.getText().toString().trim();

try {

HttpPost request = new HttpPost(URL);

List<NameValuePair> parms = new ArrayList<NameValuePair>();

parms.add(new BasicNameValuePair("id", user));

parms.add(new BasicNameValuePair("password",password1));

request.setEntity(new UrlEncodedFormEntity(parms,

HTTP.UTF_8));

HttpResponse response = new DefaultHttpClient()

.execute(request);

if (response.getStatusLine().getStatusCode() != 404) { // 现在已经发现了数据了

flag = Boolean.parseBoolean(EntityUtils.toString(response.getEntity()).trim());

response.getStatusLine().getStatusCode());

}

} catch (Exception e) {

// TODO: handle exception

tv.setText("WEB服务器连接失败……");

}

if (flag) {

tv.setText("用户登录成功!" + flag);

} else {

tv.setText("用户登录失败!" + flag);

}

}

});

}

============解决方案1============

你的url呢?没给具体ip路径?  模拟器本来就在电脑上,可以直接访问服务器。

你在真机上需要关闭电脑防火墙,通过具体的内网ip地址访问。真机和服务端要处于同一局域网

时间: 2024-10-27 17:06:14

android客户端与服务器交互,在模拟器能够得到服务器的响应,但是在真机得不到服务器的响应,请问怎么回事?程序如下:的相关文章

Android真机调试访问本地服务器(localhost)的解决方案

Android系统把它自己作为了localhost!当连接localhost都是他自己啊.. 囧,在这里晕了好久才发现.. 网上介绍的都是模拟器连接本地服务器的,我试着把链接改为http://10.0.2.2/依然不可以..我是真机调试,不是模拟器,那怎么办呢? 解决方法 我的环境是用手机通过WIFI上网,和本地电脑在同一个局域网内.找出本地电脑的ip即可,手机可以直接访问这个IP. 如果不是在局域网内,只能把网页放到可以给外部访问的地方了(例如服务器)

Android真机访问PC端服务器

若电脑联网: 1.开启一个无线网(以猎豹免费wifi为例) 2.手机连接上这个无线网(这样手机和电脑就在一个局域网内了) 3.此时查看手机的ip地址(我的是192.168.191.2) 4.打开电脑cmd.ping 192.168.191.2 5.如果上一步能ping通,如: 6.ipconfig 得到局域网中电脑端ip(192.168.191.1) 7.打开Tomcat服务器,部署服务器端应用 8.打开手机浏览器,输入地址 (我的192.168.191.1:8080/User)即可访问成功 如

Android真机测试 连接本地服务器

从网上看到,基本上有着三种方法实现如题功能: (1)将应用后台服务器部署到某台可以通过公网访问的服务器上,手机访问该公网IP地址,类似于公网试用 (2)设置局域网,手机通过WIFI访问局域网中的某台服务器(拥有局域网IP地址) (3)Android的Internet传输功能 由于没有公网IP,所以方法一不可行,由于自己手机是mx3,没有Internet传输功能(好像要刷机才可以获得),所以方法三不行,接下来就让我们看看方法二的实现过程. 过些日子更新

Android 真机连接本地PC服务器

方法非常简单: 1.打开本地的服务器,在我的电脑上就是进入E:\apache-tomcat-8.0.21\bin目录,双击startup.bat 2.查看本机ip 这里我的ip就是172.18.24.153 2.手机浏览器输入172.18.24.153:8080,即可 运行效果如下图所示(网上的图,我手机上的图也差不多是这样): 4.把需要放在服务器上的内容,放入E:\apache-tomcat-8.0.21\webapps目录下,即可用网络访问

【问题收集·初级问题】模拟器和真机,分别如何指定数据库路径,模拟器和真机对应的沙盒有何不同…

模拟器和真机,分别如何指定数据库路径,模拟器和真机对应的沙盒有何不同- 网友的问题如下所示: 23:58:19 但是原理搞不太懂... 网友的问题如下所示: 23:59:28 我在项目中用了一个数据库框架对数据库的操作是这个框架封装好的 网友的问题如下所示: 23:59:36 我看了下头文件 网友的问题如下所示: 00:00:18 就是数据库在初始化的时候指定了一个路径是模拟器运行时的沙盒路径 我的回答如下所示: 00:01:02 嗯,在真机上数据库的路径能建立起来吗 网友的问题如下所示: 00

真机调试和用模拟器调试各有什么优缺点?

真机调试和用模拟器调试各有什么优缺点?这个问题是多数开发者尤其是初学者比较想了解的,关于真机调试和模拟器调试哪个更有优势,根据开发者的实践经验得出以下结论: 真机调试和用模拟器调试的优缺点: 1.真机调试更好,因为真机调试就是在我们平常使用的手机上操作,测试更准确;模拟器在某些方面往往达不到真机的真实水平. 2.真机调试更能清晰真实的反映出开发过程中出现的问题;而模拟器性能比较差,在模拟器上不一定能发现. 3.真机测试更能支持横竖屏都方便,有一些情况模拟机不行. 4.搞3D图形图像时候,真机支持

Android客户端与PC服务器通过socket进行交互实例(转)

一直以来对Android socket通信都很模糊,今天终于研究了一个网上的例子,自己又修改了下,算是对Android socket通信有点了解了. 下面是具体的代码,说明都在注释中了.需要注意的是,只有客户端发送了信息给服务器后,服务器才能响应客户端的输入,然后返回信息给客户端,这是客户端才能读取服务器返回的信息.如果客户端和服务器都处于等待对方的信息,那样就会造成阻塞,导致ANR了. 1.服务器端代码,就是一个java程序,与android无关,运行于服务器上,即PC机上. [java] v

android客户端与服务器交互数据(基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合)

在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,做过JAVA ME的人都知道有KSOAP这个第三方的类库,可以帮助我们获取服务器端webService调用,当然KSOAP已经提供了基于android版本的jar包 首先下载KSOAP包:ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar包 然后新建android项目 以

Android客户端与服务器交互中的token

学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码. Token的引入-- Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生 使用Token的目的-- Token的目的是为了减轻服务器