我正在开发一个用于登录和注册的简单Android应用程序,ManagerNetwork.java文件为:
private static final String BASE_URL = "http://192.168.101.3:3000/";
private static AsyncHttpClient client = new AsyncHttpClient();
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.get(getAbsoluteUrl(url), params, responseHandler);
}
public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.post(getAbsoluteUrl(url), params, responseHandler);
}
private static String getAbsoluteUrl(String relativeUrl) {
return BASE_URL + relativeUrl;
}
Java文件的登录为:
private EditText Email, Password;
private Button signin, signup;
private ProgressDialog pDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_in);
Email = findViewById(R.id.textView);
Password = findViewById(R.id.textView2);
signin = findViewById(R.id.button);
signup = findViewById(R.id.button2);
signin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RequestParams params = new RequestParams();
params.add("Email",Email.getText().toString());
params.add("Password",Password.getText().toString());
ManagerNetwork.post("user/login", params, new JsonHttpResponseHandler(){
@Override
public void onStart() {
pDialog = new ProgressDialog(SignIn.this);
pDialog.setMessage("Signing up user");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
try {
JSONObject jsonObject = response.getJSONObject("message");
String message = jsonObject.getString("message");
Toast.makeText(SignIn.this,message,Toast.LENGTH_SHORT).show();
Intent i1= new Intent(SignIn.this,Landing.class);
startActivity(i1);
pDialog.dismiss();
finish();
}
catch (JSONException e){
}
}
@Override
public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
Log.d("action here",errorResponse.toString());
pDialog.dismiss();
}
@Override
public void onFinish() {
super.onFinish();
pDialog.dismiss();
}
});
}
});
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i2= new Intent(SignIn.this,SignUp.class);
startActivity(i2);
}
});
}
发布请求将直接转到onfailure方法,并且日志中不会显示其他错误。我已经在服务器端尝试了POST请求,它可以正常工作,因此问题出在客户端。任何帮助/建议都表示赞赏