Android从php获取返回值

时间:2014-06-10 11:05:59

标签: java php android drupal-7 return

我正在将我的Android应用与Drupal网站连接。在我的应用程序中,我使用标准PHP user_save为该网站创建用户帐户。我需要将我的应用程序从当前活动移动到下一个是从PHP表单返回的值,该表单正在创建我的Drupal用户帐户。

因此,当创建一个帐户时,将从php表单中返回'invalid'或'valid'的值,如下所示:

  // User Authentication

  $responsep="valid";
  $responsen="invalid";

  if(!user_authenticate($username, $password)){
    drupal_json_output($responsen);

}else{

    // Logs the USER in 
    $account = user_authenticate($username, $password);
    $user = user_load($account, TRUE);
    drupal_session_regenerate();
    drupal_json_output($responsep);

}

问题是,我如何在我的android java方法中检索有效或无效的返回值,以便我可以使用它来做出其他决定,例如尝试agin或更改活动?

我已更新上面的代码

以下是我的应用程序中发送用户数据的部分:

public void createUserAccount(String usernameFinal, String passwordFinal,
        String userEmail) throws ClientProtocolException, IOException {

    // POST Username data to php

    String uri = "https://url/hstusercreate.php"; 
    Log.d("Action", "Posting user data to php");
    HttpClient client = new DefaultHttpClient();
    HttpPost getMethod = new HttpPost(uri);
    Log.d("Posting Location", uri);
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

    Log.d("Posting Username", usernameFinal);
    nameValuePairs.add(new BasicNameValuePair("username", usernameFinal));

    Log.d("Posting Pass", passwordFinal);
    nameValuePairs.add(new BasicNameValuePair("password", passwordFinal));

    //Log.d("Posting Email", userEmail);
    //nameValuePairs.add(new BasicNameValuePair("email", userEmail));

    getMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
    client.execute(getMethod);
    Log.d("Action", "Finished Posting Data to PHP");

    // Return the message from php

    // If Successful then stop the creation of another user
}

1 个答案:

答案 0 :(得分:0)

最简单的方法是从PHP返回JSON或XML,然后您的应用可以读取和解析。

实际上,您甚至可以在页面上打印“有效”或“无效”,然后在应用中使用类似JSoup的内容来阅读网页并提取字符串。