我正在将我的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
}
答案 0 :(得分:0)
最简单的方法是从PHP返回JSON或XML,然后您的应用可以读取和解析。
实际上,您甚至可以在页面上打印“有效”或“无效”,然后在应用中使用类似JSoup的内容来阅读网页并提取字符串。