我在phpMyAdmin中有一个数据库。我想从表中获取信息并使用它来填充我的Android应用中的ListView
。
我创建了一个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();
}
?>
我在Android中创建了ListView
。如何获取信息并将其列入清单?
答案 0 :(得分:0)
假设您的PHP文件输出正确的JSON;您的后续步骤将调用URL以使用HttpGet访问此JSON。这将返回一个响应,即JSON作为字符串。
您必须解析此回复。你可以使用'gson'。 由此可以填充一些列表,对象或数据库,并使用它来填充ListView。
答案 1 :(得分: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