将php数据发送到java桌面应用程序

时间:2015-08-04 07:39:48

标签: java php

我想将数据从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中做到这一点。

非常感谢任何帮助!

2 个答案:

答案 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'].

希望它能帮到你