gpt4 book ai didi

java - 为什么 android studio 不跟随响应监听器?

转载 作者:行者123 更新时间:2023-11-29 23:28:03 26 4
gpt4 key购买 nike

我在 Android Studio 中有一个简单的注册脚本。我将 php 脚本设置为在代码正确运行时发送响应。 Android studio 应该收到响应,但实际上没有。

这里是有问题的 PHP block ;

$response = array();
$response["success"] = true;

echo $response;

这里是有问题的 CreateUser block ;

createuser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

final String username = username1.getText().toString();
final String password = password1.getText().toString();
final String isadmin = isAdmin.getText().toString();
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("Response Value: ", response);
if (response.equals("success")){
Intent intent = new Intent(CreateUser.this, MainActivity.class);
CreateUser.this.startActivity(intent);
}else{
AlertDialog.Builder builder = new AlertDialog.Builder(CreateUser.this);
builder.setMessage("Register Failed")
.setNegativeButton("Retry",null)
.create()
.show();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(username,password,isadmin,responseListener);
RequestQueue queue = Volley.newRequestQueue(CreateUser.this);
queue.add(registerRequest);
}
});
}

这是注册请求;

public class RegisterRequest extends StringRequest {

private static final String REGISTER_REQUEST_URL = "http://192.168.*.*:80/phptesting/Register.php";
private Map<String, String> params;
public RegisterRequest(String username, String password,String isAdmin, Response.Listener<String> listener){
super(Method.POST, REGISTER_REQUEST_URL,listener,null);
params = new HashMap<>();
params.put("username",username);
params.put("password",password);
params.put("isAdmin",isAdmin+"");
}

最佳答案

您不能在 PHP 中回显数组。当你这样做时,输出将是

PHP Notice: Array to string conversion in php shell code on line 1
Array

您需要直接发送字符串“success”,例如

echo "success";

或者将数组序列化为 JSON,但随后您必须更改您的 ResponseListener 以便它能够理解,可能使用 Jackson 或 Android 中可用的任何内容。

更好的选择是不读取实际的响应主体,而只是设置 appropriate HTTP status code以指示成功或失败。

关于java - 为什么 android studio 不跟随响应监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53174413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com