我有一个Http Post
try {
String response1 = null;
response1 = CustomHttpClient.executeHttpPost(
"http://giveaway.synamegames.com/appfiles/login.php",
postParameters);
String res = response1.toString();
// res = res.trim();
res = res.replaceAll("\\s+", "");
if (res.equals("2350") && checkboxv.equals("1")) {
Intent login = new Intent(this, MainMenuActivity.class);
login.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(login);
SavePreferences("lu", et_username.getText().toString());
SavePreferences("lp", et_pass.getText().toString());
SavePreferences("cbauto", "1");
} else if (res.equals("2350") && checkboxv.equals("0")) {
Intent login = new Intent(this, MainMenuActivity.class);
login.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(login);
SavePreferences("lu", "");
SavePreferences("lp", "");
SavePreferences("cbauto", "0");
} else if (res.equals("1000")) {
Toast.makeText(this, "Incorrect version. Please update.",
Toast.LENGTH_SHORT).show();
} else if (res.equals("588")) {
Toast.makeText(this, "Incorrect Password or Username.",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this,
"Server Error. Please try again later.",
Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
}
如果我的回答是1000,2350等,它会给Android手机一个特定的回复。但是我希望我的数据库能够提供android数据库信息。在我的情况下,我有 玩家注册并输入他们的姓名,电子邮件,用户名和密码。登录后,我希望手机能够检索用户在创建帐户时分配的名称。出于安全原因,我无法在手机上存储此信息。我可能有多个HTTP帖子但这只会减慢应用程序的速度。我的问题是......
有没有可能的方法我可以检索多个响应并将这些响应放入不同的字符串而不必另外发送http帖子?
答案 0 :(得分:0)
如果您也在设计服务器端,我会做的基本上是将配置文件信息作为JSON格式的响应的一部分返回。您可以使用Android中的JSONObject来解析服务器的JSON响应。因此,成功登录的响应字符串看起来像
{
"response" : {
"responseCode" : 2350,
"userProfile" : {
"name" : "Me",
"email" : "me@me.com"
}
}
}
对于失败的回复
{
"response" : {
"responseCode" : 588
}
}
这样,您就不必进行2次http呼叫,并且可以避免再次访问服务器