Android - Mostrar datos de una BD Remota en un LisView

 
Vista:
sin imagen de perfil

Mostrar datos de una BD Remota en un LisView

Publicado por germancho (1 intervención) el 26/06/2017 20:38:45
Hola quiero mostrar los datos de una base de datos remota en un ListView, y el problema q tengo es q cuando utilizo el emulador no muestra ningun dato.

MainActivity
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
package com.example.consultarbd.consultarbd;
 
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
 
import org.json.JSONArray;
 
import java.util.ArrayList;
 
import cz.msebera.android.httpclient.Header;
 
public class MainActivity extends AppCompatActivity {
 
    ListView listado;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listado = (ListView) findViewById(R.id.lista);
        ObtenerDatos();
 
    }
 
    public void ObtenerDatos() {
 
        AsyncHttpClient client = new AsyncHttpClient();
        String url = "http://germanccho.96.lt/getData2.php";
 
        RequestParams parametros = new RequestParams();
 
 
        client.post(url, parametros, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                if (statusCode == 200) {
                    CargaLista(obtenerDatosJSON(new String(responseBody)));
                }
 
            }
 
            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
 
            }
        });
 
    }
    public void CargaLista(ArrayList<String> datos) {
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, datos);
        listado.setAdapter(adapter);
    }
 
    public ArrayList<String> obtenerDatosJSON(String response) {
        ArrayList<String> listado = new ArrayList<>();
        try {
            JSONArray jsonArray = new JSONArray(response);
            String texto;
            for (int i = 0; i < jsonArray.length(); i++) {
                texto = jsonArray.getJSONObject(i).getString("nombre") + " " +
                        jsonArray.getJSONObject(i).getString("telefono") + " ";
                listado.add(texto);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } return listado;
    }
 
 
}

Activity_main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.consultarbd.consultarbd.MainActivity">
 
   <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/lista"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
 
</RelativeLayout>



getData2.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$mysqli = new mysqli("mysql.hostinger.com.ar", "u798910997_glw", "germanccho", "u798910997_user") or die ("Sin conexion");
$myArray = array();
if ($result = $mysqli->query("SELECT nombre, telefono FROM usuario")) {
 
    while($row = $result->fetch_array(MYSQL_ASSOC)) {
            $datos[] = $row;
    }
    echo json_encode($datos);
}
 
$result->close();
$mysqli->close();
?>
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

Mostrar datos de una BD Remota en un LisView

Publicado por Jaisson (1 intervención) el 18/12/2020 20:23:08
Estimado: Logró solucionar su probema?, si es asi podria hacerme llegar en un correo la solucion, [email protected] , desde ya muchas gracias
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