TimeoutError使用Volley将Android应用连接到本地主机

时间:2018-06-20 17:35:31

标签: php android web-services xampp android-volley

我想制作一个允许我的应用程序连接到localhost中的数据库的Web服务。我正在尝试遵循此example对名称进行一些更改。

在我的android代码中,我有这个:

VolleySingleton.
            getInstance(getApplicationContext()).
            addToRequestQueue(new JsonObjectRequest(Request.Method.GET, Constantes.GET, null, new Response.Listener<JSONObject>() {


                @Override
                public void onResponse(JSONObject response) {
                    String result = response.toString();
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    if (error.networkResponse == null) {
                        if (error.getClass().equals(TimeoutError.class)) {
                            // Show timeout error message
                            Log.e("error volley",error.getStackTrace().toString());
                            Toast.makeText(getApplicationContext(),
                                    "Oops. Timeout error!",
                                    Toast.LENGTH_LONG).show();
                        }
                    }
                }
            }

            ));

VolleySingleton 类:

public final class VolleySingleton {

// Atributos
private static VolleySingleton singleton;
private RequestQueue requestQueue;
private static Context context;


private VolleySingleton(Context context) {
    VolleySingleton.context = context;
    requestQueue = getRequestQueue();
}
public static synchronized VolleySingleton getInstance(Context context) {
    if (singleton == null) {
        singleton = new VolleySingleton(context.getApplicationContext());
    }
    return singleton;
}
public RequestQueue getRequestQueue() {
    if (requestQueue == null) {
        requestQueue = Volley.newRequestQueue(context.getApplicationContext());
    }
    return requestQueue;
}
public <T> void addToRequestQueue(Request<T> req) {
    getRequestQueue().add(req);
}

我在 Constantes 类中拥有的常量:

private static final String PUERTO_HOST = "63343";
private static final String IP = "http://10.0.2.2:";
public static final String GET = IP + PUERTO_HOST + "/prueba/obtener_canales.php";

我使用了该ip,因为我读到10.0.2.2用于android studio模拟器,而10.0.3.2用于genymotion。

我正在使用XAMPP,文件路径为“ D:\ xampp \ htdocs \ prueba \ obtener_canales.php

我一直都在等待Toast并出现超时错误,当我在android studio中调试时,看不到任何东西。

0 个答案:

没有答案