如何将android连接到php web服务

时间:2012-01-19 15:16:29

标签: php android web-services ksoap2 android-ksoap2

任何人都可以指导我使用kso​​ap2或其他东西将android连接到php web服务的教程或工作示例吗?

1 个答案:

答案 0 :(得分:0)

我以这种方式使用我的PHP-Webservice:

爪哇:

// params => "?action=getInfos"
private JSONObject getJSONObject(String params)
{
    try
    {
        String url = path2webservicephp + params;

        System.out.println("Call URL: " + url);

        HttpGet request = new HttpGet(url);

        request.setHeader("Content-Type", "text/xml;charset=UTF-8");

        DefaultHttpClient httpclient2 = new DefaultHttpClient();

        HttpResponse response = httpclient2.execute(request);

        if (response.getStatusLine().getStatusCode() != 200)
            throw new ConnectionException("Status Code is " + response.getStatusLine().getStatusCode() + ": " + response.getStatusLine().getReasonPhrase());

        BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
        String line = reader.readLine();

        MyConstants.RECEIVEDBYTES += line.length();

        reader.close();
        if ("[]".equals(line))
            return null;
        return new JSONObject(line);
    }
    catch (Exception e)
    {
        LLog.e(Webservice.class, "Exception! params: " + params);
        LLog.e(e, Webservice.class);
    }
    return null;
}

// LLog.e来自我自己的班级。它会记录到Log.e并进入文件

PHP:

$array = array('status' => 'ok', 'message' => 'your action was: '.$_GET['action']);
echo json_encode($array);