我创建了一个简单的android应用程序(在php中使用MySQL数据库连接逻辑)来注册新的联系人。当我将应用程序运行到模拟器(使用localhost IP地址为10.0.2.2)时,它运行正常。现在我想在我的设备上测试它,我正面临localhost的连接问题 我该怎么办??
这是我的代码:
@Override
protected String doInBackground(String... params) {
String reg_url="http://10.0.2.2/mobile/register.php";
String login_url="http://10.0.2.2/mobile/login.php";
}
提前致谢
答案 0 :(得分:0)
首先,确保您的服务器和您的设备之间可以建立连接(它们位于同一网络中,或者服务器可公开访问)。
然后,检查服务器的IP地址并获取运行服务器的端口。从真实设备建立连接时使用这些。该网址应如下所示:@Override
protected WebClient newWebClient() {
WebClient client = super.newWebClient();
DefaultCredentialsProvider provider = new DefaultCredentialsProvider();
provider.addCredentials("username","password");
client.setCredentialsProvider(provider);
return client;
}
。
答案 1 :(得分:0)
您应该查看 adb反向端口转发。因此,假设您希望移动设备的localhost:8888指向本地计算机的localhost:8888,您可以使用以下adb命令来实现它:
adb reverse tcp:8888 tcp:8888
第一个参数是指设备上的端口,第二个参数是指计算机上的端口。
adb reverse允许您将设备中的端口转发到主机。 如果您有任何疑问,请告诉我。
有关详细信息,请参阅以下链接:
答案 2 :(得分:0)
我认为连接已建立,当我从手机上写下我的地址IP时,我得到了本地主机[1]
但是当我运行应用程序并输入用户的名称和密码时,我得到了这个 (我认为这是文件login.php的描述)[2]
http://i.stack.imgur.com/jSXXP.jpg // [1]
http://i.stack.imgur.com/cP8PB.jpg // [2]
我用这行来调用脚本php:String login_url =“http://192.168.1.103:80/mobile/login.php”;