我想将数据从php脚本发送到java桌面应用程序。从SELECT * FROM xxxxx中的数据库检索php数据。我想将这些值传递给java进行显示。
我知道我可以通过以下语句从java接收来自php的数据
字符串缓冲区;
in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
while((buffer = in.readLine()) != null){
System.out.println(buffer);
}
但是,如果我想捕获特定值,如名字,姓氏,年龄,职业等,该怎么办?我怎么能在java而不是android中做到这一点。
非常感谢任何帮助!
答案 0 :(得分:0)
使用JSON作为传输数据的结构。在你的PHP脚本中有这样的东西,如果你使用的是PDO
$pdo=new PDO("mysql:dbname=database;host=127.0.0.1","user","password");
$statement=$pdo->prepare("SELECT * FROM table");
$statement->execute();
$results=$statement->fetchAll(PDO::FETCH_ASSOC);
$json=json_encode($results);
echo $json;
这是我在Android应用中的方式。
Android有JSON库来帮助您处理JSON。
答案 1 :(得分:0)
使用Json执行此操作,首先需要从表中获取数据
$dbname = "dbname";
$host = "localhost";
$user = "root";
$pass = "";
$con = new PDO("mysql:host=$host;dbname=$dbname",$user,$pass);
$select = $con->prepare("select * from your_tablename");
$execute = $select->execute();
foreach ($select as $selects) {
$fname[] = array("fname"=>$selects['fname']);
$lname[] = array("lname"=>$selects['lname']);
$age[] = array("age"=>$selects['age']);
}
$new_array = array_merge($fname,$lname);
echo json_encode($new_array);
在Java方面你需要解码json并使用多维数组来检索值
eg : array[0]['fname'].
希望它能帮到你