我想制作一个允许我的应用程序连接到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中调试时,看不到任何东西。