0

我在 phpMyAdmin 中有一个数据库。我想从表格中获取信息并使用它来填充ListView我的 Android 应用程序。

我创建了一个 PHP 文件:

<?php

$host="localhost";
$user="root";
$pass="";
$dbname="ltc";

$con= mysql_connect($host,$user,$pass);
$BD= mysql_select_db($dbname, $con);

$query=mysql_query("select * from posts");
$num=mysql_num_rows($query);

if($num==1)
{
    while($list=mysql_fetch_assoc($query))
    {
        $output=$list;
        echo json_encode($output);
    }
        mysql_close();
    }
?>

ListView在 Android 中创建了一个。如何获取信息并将其放入列表中?

4

2 回答 2

0

您可以使用以下方法调用您的 php 页面:

         public static String getWebData(String url) {
            HttpParams httpParameters = new BasicHttpParams();
            // Set the timeout in milliseconds until a connection is established.
            // The default value is zero, that means the timeout is not used. 
            int timeoutConnection = 3000;
            HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
            // Set the default socket timeout (SO_TIMEOUT) 
            // in milliseconds which is the timeout for waiting for data.
            int timeoutSocket = 5000;
            HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

             // Create a new HttpClient and Post Header
            HttpClient httpclient = new DefaultHttpClient(httpParameters);

            HttpGet httpgett = null;

                httpgett = new HttpGet(url);


        String result="";
            try {


                // Execute HTTP Post Request
                HttpResponse response = httpclient.execute(httpgett);
                int status = response.getStatusLine().getStatusCode();
                result = EntityUtils.toString(response.getEntity());

            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                System.out.println("--->" + "ClientProtocolException" + e.getMessage());
                return "";
            } catch (IOException e) {
                // TODO Auto-generated catch block
                return "";
            } catch (Exception e) {
                // TODO Auto-generated catch block
                return "";
            }


                return result;
            }

一个你有你的数据,你可以把它放到你的 ListView

于 2013-03-08T15:36:27.683 回答
0

假设您的 PHP 文件输出正确的 JSON;您的下一步将调用 URL 以使用 HttpGet 访问此 JSON。这将为您返回一个响应,即 JSON 作为字符串。

您必须解析此响应。您可以为此使用“gson”。因此,您可以填充一些列表、对象或数据库并使用它来填充您的 ListView。

于 2013-03-08T15:33:20.453 回答