在真实设备上测试我的android应用程序

时间:2016-04-22 07:21:44

标签: php android mysql android-studio

我创建了一个简单的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";
}

提前致谢

3 个答案:

答案 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允许您将设备中的端口转发到主机。 如果您有任何疑问,请告诉我。

有关详细信息,请参阅以下链接:

http://www.codeka.com.au/blog/2014/11/connecting-from-your-android-device-to-your-host-computer-via-adb

答案 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”;