Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas

viernes, 17 de julio de 2015

JSON en Android con PHP y MySQL

Para iniciarse con esto, una buena recomendación que les puedo dar es esta librería y empecemos.
Primero descargamos la librería , es un .jar:
Ahora en el paquete llamado app de nuestro árbol de archivos del proyecto:

Hacemos click derecho  y de ahí:
new->Module
y nos debe de lanzar a la siguiente ventana:
Y elegimos importar  .jar
Ahora nos lanzara a una ventana donde elegiremos la ruta de nuestro archivo .jar que descargamos de la pagina.
Ahora nos vamos a build.gradle (Module:app) y agregamos lo siguiente en dependencies:
compile 'com.loopj.android:android-async-http:1.4.7'
Y ahora veamos la pagina con la que vamos a interactuar en el servidor:
La tabla de la base de datos que consultaremos es:
Todo la comunicación la usaremos desde un método que llamaremos  ObtDatos(), lo que se va hacer es obtener los datos de apellido, edad  y puntos y los mostraremos en un listView,

public void ObtDatos()
    {
        AsyncHttpClient client=new AsyncHttpClient();
        String url="http://192.168.61.13/loggeo.php";
        RequestParams parametros= new RequestParams();
        EditText nombre=(EditText)findViewById(R.id.NombreLgoTxt);
        parametros.put("Nombre",nombre.getText().toString());

        client.post(url, parametros, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                if (statusCode == 200) {
                    //Llamar a la funcion
                    CargarLista(obtDatosJSON(new String(responseBody)));
                    Log.i("Respuesta:", new String(responseBody));
                    Log.i("Datos:", "No Fallo");
                }
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
                Log.i("Datos:", "Maldad: Fallo");
            }
        });
    }


CargarLista(obtDatosJSON(new String(responseBody))); nos va a llevar a cargar los datos obtenidos de la consulta del servidor en un listView:

public void CargarLista(ArrayList datos)
    {
        ListView listView=(ListView)findViewById(R.id.listViewLoggeo);
        ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,datos);
        listView.setAdapter(adapter);

    }

    public ArrayList obtDatosJSON(String resupesta)
    {
        ArrayList listado=new ArrayList<>();
        try
        {
            JSONObject jsonObject= new JSONObject(resupesta);
            String texto="Nombre="+jsonObject.getString("Nombre");
            listado.add(texto);

            texto="Apellido="+jsonObject.getString("Apellido");
            listado.add(texto);

            texto="Edad="+jsonObject.getString("Edad");
            listado.add(texto);

            texto="Puntos="+jsonObject.getString("Puntos");
            listado.add(texto);

        }catch (Exception error)
        {

        }
        return listado;
    }

Hacemos una interfaz parecida a esta:
Liga xml
Al correr la aplicación tendremos:

Espero les haya servido este  tutorial, por su atención gracias!

Fuentes:
https://www.youtube.com/watch?v=oLm_5GKHJCI  consultada el 16 de julio del 2015.