Java 无法获取响应。正文()

Java 无法获取响应。正文(),java,android,retrofit,retrofit2,okhttp,Java,Android,Retrofit,Retrofit2,Okhttp,我试着用安卓改型和okhttp3创建登录和注册表单。当我点击“注册”按钮时,数据成功地插入到我的数据库中,但我的toast并没有显示,也不会自动直接进入登录页面。按钮登录上的问题也是一样的。如果我点击登录按钮,它不会直接进入另一个页面。RESTAPI上没有问题。我认为问题出在回调或response.body()中。我使用restfulcodeigniter 代码如下: mApiService.createUser( input_name.getText().toStrin

我试着用安卓改型和okhttp3创建登录和注册表单。当我点击“注册”按钮时,数据成功地插入到我的数据库中,但我的toast并没有显示,也不会自动直接进入登录页面。按钮登录上的问题也是一样的。如果我点击登录按钮,它不会直接进入另一个页面。RESTAPI上没有问题。我认为问题出在回调或response.body()中。我使用restfulcodeigniter

代码如下:

mApiService.createUser(
            input_name.getText().toString(),
            input_lastname.getText().toString(),
            input_username.getText().toString(),
            input_email.getText().toString(),
            input_password.getText().toString(),
            input_phonenumber.getText().toString(),
            input_country.getSelectedItem().toString()
    )
            .enqueue(new Callback<ResponseBody>() {
                         @Override
                         public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                             if (response.isSuccessful()) {
                                 Log.i("debug", "onResponse: Successful");
                                 loading.dismiss();
                                 try {
                                     JSONObject jsonRESULTS = new JSONObject(response.body().string());
                                     if (jsonRESULTS.getString("error").equals("true")) {
                                         Toast.makeText(mContext, "Register Successful", Toast.LENGTH_SHORT).show();
                                         startActivity(new Intent(mContext, SignInActivity.class));
                                     } else {
                                         String error_message = jsonRESULTS.getString("error_msg");
                                         Toast.makeText(mContext, error_message, Toast.LENGTH_SHORT).show();
                                     }
                                 } catch (JSONException | IOException e) {
                                     e.printStackTrace();
                                 }
                             } else {
                                 Log.i("debug", "onResponse: Register Failed");
                                 loading.dismiss();
                             }
                         }

                         @Override
                         public void onFailure(Call<ResponseBody> call, Throwable t) {
                             Log.e("debug", "onFailure: ERROR > " + t.getMessage());
                             Toast.makeText(mContext, "Connection Failed", Toast.LENGTH_SHORT).show();

                         }
                     }
            );
mApiService.createUser(
输入_name.getText().toString(),
输入\u lastname.getText().toString(),
输入\u username.getText().toString(),
输入\u email.getText().toString(),
输入密码。getText().toString(),
输入\u phonenumber.getText().toString(),
输入\u country.getSelectedItem().toString()
)
.enqueue(新的回调函数(){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful()){
Log.i(“调试”,“onResponse:Successful”);
loading.dispose();
试一试{
JSONObject jsonRESULTS=新的JSONObject(response.body().string());
if(jsonRESULTS.getString(“error”).equals(“true”)){
Toast.makeText(mContext,“注册成功”,Toast.LENGTH_SHORT.show();
startActivity(新意图(mContext,signianctivity.class));
}否则{
字符串错误消息=jsonRESULTS.getString(“错误消息”);
Toast.makeText(mContext、错误消息、Toast.LENGTH.SHORT).show();
}
}捕获(JSONException | IOException e){
e、 printStackTrace();
}
}否则{
Log.i(“调试”,“onResponse:寄存器失败”);
loading.dispose();
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Log.e(“debug”,“onFailure:ERROR>”+t.getMessage());
Toast.makeText(mContext,“连接失败”,Toast.LENGTH_SHORT.show();
}
}
);
下面是日志:

    content-type: application/json; charset=utf-8
05-17 11:02:24.263 23925-23955/com.example.user.pfmapp2 D/OkHttp: {"status":true,"message":"Registration Successfully, Please SignIn.","0":{"name":"test","lastname":"","username":"test","email":"Dddd33@gmail.com","password":"31a30b53d7faec7957e708dca6077e31","registration_date":"17-05-18","mobile_phone_number":"234124445","mobile_phone_number_code":"+1"}}
    <-- END HTTP (313-byte body)
05-17 11:02:24.283 23925-23925/com.example.user.pfmapp2 I/debug: onResponse: Register Failed
05-17 11:02:24.301 23925-23941/com.example.user.pfmapp2 D/EGL_emulation: eglMakeCurrent: 0xa7b18960: ver 2 0 (tinfo 0xa341c6e0)
05-17 11:02:24.321 23925-23941/com.example.user.pfmapp2 D/EGL_emulation: eglMakeCurrent: 0xa7b18960: ver 2 0 (tinfo 0xa341c6e0)
内容类型:application/json;字符集=utf-8
05-17 11:02:24.263 23925-23955/com.example.user.pfmapp2 D/OkHttp:{“状态”:true,“消息”:“注册成功,请登录”,“0”:{“名称”:“测试”,“姓氏”:“用户名”:“测试”,“电子邮件”:Dddd33@gmail.com“,”密码“:”31a30b53d7faec7957e708dca6077e31“,”注册日期“:”17-05-18“,”手机号码“:”23412445“,”手机号码“:"+1"}}
你应该检查一下

response.code()

要检查您请求的状态并让我知道如何帮助您

请尝试使用
FastAndroidNetworking
。它易于理解和学习。
issusccessful()
检查响应状态代码是否在范围
[200,300)
内。如果您希望发生重定向,这意味着您将收到一个
3xx
状态代码,该代码超出该范围,因此
issusccessful()
返回
false
。您可以尝试使用
OkHttp
客户端,将
followRedirect
设置为
true
谢谢您的回答。但是,您能用示例解释一下吗?