簡體   English   中英

Android Studio服務器連接失敗

[英]Android Studio server connection failed

我正在嘗試使用Volley庫執行GET請求(StringRequest)。 該文件位於我的wamp服務器(txt文件)上。 我的IP地址localhost以及10.0.2.2的連接失敗。

有2個錯誤:

  • 使用localhost10.0.2.2

java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 80) after 2500ms: isConnected failed: ECONNREFUSED (Connection refused)

  • 與我的IP地址

java.net.ConnectException: failed to connect to /myIP (port 80) after 5000ms: isConnected failed: EHOSTUNREACH (No route to host)

我給了androidmanifest訪問互聯網的權限

這是我的代碼:

public void volleyTest(Context ctx) {

    RequestQueue queue = Volley.newRequestQueue(ctx);
    String url ="http://localhost/file.txt";

    StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.i("debug","Response is: "+ response.substring(0,500));
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.i("debug",error.getMessage());
        }
    });
    queue.add(stringRequest);
}

首先檢查api是否可以使用您的IP而不是localhost從您的計算機瀏覽器訪問,如果它是好的。 再次從連接在同一網絡wifi上的移動瀏覽器中檢查。 然后不要使用localhost並始終在您的api url中使用ips

您需要獲取具有端口號的計算機的IP地址(使用ipconfig),並在String url中使用它而不是“localhost”。 只需將'localhost'更改為您的地址,如'192.168 ...:8080',並確保您向androidmanifest添加持久性

<uses-permission android:name="android.permission.INTERNET" />

我使用相同的設置在我的機器上運行你的代碼,從android / volley部分一切都很好,我能夠使用以下代碼訪問我的文件,它基本上是你的一些小修改。

您使用的是哪個版本的Wamp? - 我建議你查看httpd.conf以允許訪問此處的建議

我在我的機器上運行的代碼,如果有幫助:

  public void volleyTest(Context ctx) {

    RequestQueue queue = Volley.newRequestQueue(ctx);
    String url = "http://192.168.15.28/file.txt";

    com.android.volley.Response.Listener<String> listender = new com.android.volley.Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            System.out.println(response);
        }
    };
    com.android.volley.Response.ErrorListener error = new com.android.volley.Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            System.out.println(error.getLocalizedMessage());
        }
    };

    StringRequest t = new StringRequest(Request.Method.GET, url, listender, error);
    queue.add(t);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM