Android - Ayuda volley solo funciona por wify

 
Vista:
sin imagen de perfil
Val: 197
Plata
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Ayuda volley solo funciona por wify

Publicado por Luis (97 intervenciones) el 04/04/2018 23:21:23
Hola a todos y buenas noches.
Tengo un servidor MSQL en una raspberry a la cual le envio un formulario desde la app con un terminal fisico android y hace correctamente el insert.

Estando conectado por wify o datos cuando pulso boton para obtener todos los registros me los envia correctamente mostrandome todos los resultados en un listview tanto por wify como por datos.

Hasta ahi todo perfecto el problema lo tengo en que cuando elimino manualmente de la tabla de la base de datos todos los registros si estoy conectado por wify y pulso el boton para obtener los registros me salta el msgbox diciendo que no hay registros. ( Perfecto )

Pero si la consulta la hago estando conectado por datos teniendo perfecta cobertura me salta el error de volley en vez de salirme el msgbox diciendo que no hay registros.

Si meto un registro en la base de datos para probar me lo muestra y si lo borro me sale error y por wify funciona correctamente pero usando datos no

Estoy atascado y no como salir de esto de momento me encargo de que siempre exista un registro para evitar problemas pero como lo puedo solucionar??

Os dejo el codigo de la activity por si me pueden echar una mano.

Gracias por su tiempo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
public class Historial_registros extends AppCompatActivity {
 
    ProgressDialog pd;
    Button atras;
 
    private Context ctx;
    ListView llistaResultado;
 
    int position;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.historial_registros);
        ctx = Historial_registros.this;
 
        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setIcon(R.mipmap.ic_launcher);
 
        llistaResultado = (ListView)findViewById(R.id.lavclasificaciongeneral);
        atras = (Button)findViewById(R.id.buttatras);
 
        atras.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                vibrar();
                finish();
            }
        });
 
 
        listaclasificacion();
 
    }
 
    private void listaclasificacion() {
        pd = ProgressDialog.show(Historial_registros.this, "Historial de registros", "Buscando los datos. Por favor espere...");
 
        String consulta = "http://miservidor1234.ddns.net/historial" + "/consultar.php";
        EnviarRecibirDatos(consulta);
    }
 
    public void EnviarRecibirDatos(String URL){
 
        RequestQueue queue = Volley.newRequestQueue(this);
        StringRequest stringRequest = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
 
                response = response.replace("][",",");
 
                if (response.length()==0){
 
                  //  if (response.length()<0){
 
                    if(pd.isShowing()) {
                        pd.dismiss();
                    }
                    showMessage("Historial de registros", "No hay registros historial bacio");
                }
 
 
                if (response.length()>0){
                    try {
                        JSONArray ja = new JSONArray(response);
                        Log.i("sizejson",""+ja.length());
                        CargarListView(ja);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
 
                }
 
            }
        }, new Response.ErrorListener(){
            @Override
            public void onErrorResponse(VolleyError error) {
                if(pd.isShowing()) {
                    pd.dismiss();
                }
                Toast.makeText(getApplicationContext(), "Error, revise su conexion de internet", Toast.LENGTH_SHORT).show();
            }
        });
        queue.add(stringRequest);
    }
 
    public void CargarListView(JSONArray ja){
        int pos = position+1;
 
        ArrayList<String> lista = new ArrayList<>();
 
        for(int i=0;i<ja.length();i+=5){
            try {
                lista.add("\n\n"+pos++ + "º  " +ja.getString(i+1)+" \n " + "El dia/hora"+ "  " + ja.getString(i+2)+ "\n\n");
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        if(pd.isShowing()) {
            pd.dismiss();
        }
        ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lista );
 
 
 
        llistaResultado.setAdapter(adaptador);
    }
 
    private void vibrar() {
        Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
        vibrator.vibrate(100);
    }
 
    public void showMessage(String title, String message) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
 
        builder.setIcon(R.mipmap.ic_launcher);
        builder.setTitle(title) ;
        builder.setMessage(message);
        builder.setCancelable(false);
        builder.setNeutralButton(R.string.aceptar,
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        dialog.cancel();
                        finish();
                    }
                });
        AlertDialog alert = builder.create();
        alert.show();
 
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha disminuido su posición en 4 puestos en Android (en relación al último mes)
Gráfica de Android

Ayuda volley solo funciona por wify

Publicado por Manuel (3 intervenciones) el 18/04/2018 01:24:22
Luis una consulta , yo estoy trabando con volley tambien , al realizar la consulta por el emulador de android studio corre la aplicación, pero cuando instalo el apk en un celular me sale el error : com.android.volley.AuthFailureError, sabrás a que se debe o que consideraciones debo tener al conectarme por wifi mi celular estoy usando wamp.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar