使用XAMPP将android连接到本地服务器


Connecting android to a local server using XAMPP

我试图从本地服务器获取数据到android设备,我使用免费的在线托管服务,在我遇到一些不相关的技术问题之前一切都很好,所以不太可能问题在于代码本身(只是一个想法)。无论如何,当我使用XAMPP迁移到本地服务器时,我的应用程序上没有任何响应,所以我从手机浏览器访问php文件,它给出了正确的结果,但应用程序本身给出了完全的沉默。通过搜索SO,大多数问题都提到在文件的URL中放入正确的IP地址。我正在使用volley,我已经插入了非常相同的URL,当我在浏览器中访问文件时,服务器似乎根本没有响应。

下面是我使用的php代码:
<?php
  include 'dbConnect.php';
$searchTerm='d';
$query = $conn->prepare('SELECT term,id FROM tag WHERE term LIKE :searchTerm');
$query->execute(array(':searchTerm'=>$searchTerm.'%'));
$result=$query->fetchAll(PDO::FETCH_ASSOC);
echo json_encode(array('result'=>$result));
?>

我正在使用Volley库联系服务器,第一个文件是 CustomeAutoCompleteTextViewTextChangedListener.java

@Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        try {
            NetworkRequsts networkRequsts = new NetworkRequsts(context);
            networkRequsts.tagsJsonObjectRequest("https://192.168.110.1:8080/Register.php");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

这是应该发出请求的地方,注意URL,这是我认为问题所在的地方,因为它是我在更改服务器时唯一改变的代码。

这是Volley的请求:

NetworkRequsts.java

JsonObjectRequest tagJsonRequest=new JsonObjectRequest(url,tagSearchObject, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                try {
                    Log.d("Search term object",tagSearchObject.toString());
                    Log.d("respone Test", response.length()+" "+response.toString());
                    JASONArrayResponse=response.getJSONArray("result");
                    for(int i=0;i<JASONArrayResponse.length();i++)
                    {
                        JSONObject jsonObject=JASONArrayResponse.getJSONObject(i);
                        Log.d("Volley", jsonObject.getString("term"));
                        Log.d("searchTerm",register.tagsAutoCompleteTextView.getText().toString());
                    }
                }
                catch(JSONException JE)
                {
                    JE.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                if (error instanceof ServerError) {
                    Log.e("Volley", "ServerError");
                    Toast.makeText(context.getApplicationContext(),error.getMessage(),Toast.LENGTH_LONG).show();
                }
            }
        });

首先检查服务器是否正常工作,使用localhost加载浏览器,如果正常工作,然后将ip地址更改为系统ip。然后检查共享受限的网络连接属性。大多数情况下,连接失败发生,因为共享限制的反病毒程序或类似的东西。在给予所有权限后,它将工作